Избавится от дублей
Есть код страницы:
... <div class="class-title">TITLE-1</div> <img class="class-image" src="http://catalog-img/image-1.jpg" /> ... <div class="class-title">TITLE-2</div> <img class="class-image" src="http://catalog-img/image-2.jpg" /> ... <div class="class-title">TITLE-3</div> <img class="class-image" src="http://catalog-img/image-3.jpg" /> ... При помощи следующего скрипта: var elems = document.querySelectorAll('.class-title, .class-image'), massive = document.getElementById('massive'); [].forEach.call(elems, function(self) { if (self.tagName == 'IMG') { massive.value += '<p><img src=\"' + self[self.tagName == 'IMG' ? 'src' : 'innerHTML'] + '\" /></p>\n'; } else { massive.value += '<p>' + self.innerHTML + '</p>\n'; } }); ПОЛУЧЕМ: ... <p>TITLE-1</p> <p><img src="http://catalog-img/image-1.jpg" /></p> <p>TITLE-2</p> <p><img src="http://catalog-img/image-2.jpg" /></p> <p>TITLE-3</p> <p><img src="http://catalog-img/image-3.jpg" /></p> <p>TITLE-1</p> <p><img src="http://catalog-img/image-1.jpg" /></p> <p>TITLE-2</p> <p><img src="http://catalog-img/image-2.jpg" /></p> <p>TITLE-3</p> <p><img src="http://catalog-img/image-3.jpg" /></p> ... Как избавится от дублей, что бы получить?: ... <p>TITLE-1</p> <p><img src="http://catalog-img/image-1.jpg" /></p> <p>TITLE-2</p> <p><img src="http://catalog-img/image-2.jpg" /></p> <p>TITLE-3</p> <p><img src="http://catalog-img/image-3.jpg" /></p> ... |
rudoy24,
а просто убрать класс из картинок и переписать тег div на тег p? |
:(
<!DOCTYPE HTML> <html> <head> <title>Untitled</title> <meta charset="utf-8"> </head> <body> ... <div class="class-title">TITLE-1</div> <img class="class-image" src="http://catalog-img/image-1.jpg" /> ... <div class="class-title">TITLE-2</div> <img class="class-image" src="http://catalog-img/image-2.jpg" /> ... <div class="class-title">TITLE-3</div> <img class="class-image" src="http://catalog-img/image-3.jpg" /> ... <script> var elems = document.querySelectorAll('.class-image'); for (var i=0; i<elems.length; i++) {elems[i].classList.remove('class-image')} elems = document.querySelectorAll('.class-title'); for (var i=0; i<elems.length; i++) { var newDiv = document.createElement('p'); newDiv.innerHTML = elems[i].innerHTML; elems[i].parentNode.replaceChild(newDiv, elems[i])} alert(document.body.innerHTML) </script> </body> </html> |
А передать все занчения?:
document.getElementById('massive') Подскажите! |
rudoy24, нескромный вопрос - какой в этом замысел?
|
danik.js - это своего рода (типа) парсер. Скрипт создает массив (из текста и картинок по классу) >> массив с данными передается переменной >> готовый результат отправляется на почту.
То есть обработчик написанный в самом начале работает правильно, но создает дубли, а от них необходимо избавится! |
rudoy24,
<!DOCTYPE HTML> <html> <head> <title>Untitled</title> <meta charset="utf-8"> </head> <body> <textarea id="massive" name="" cols="70" rows="10" ></textarea> ... <div class="class-title">TITLE-1</div> <img class="class-image" src="http://catalog-img/image-1.jpg" /> ... <div class="class-title">TITLE-2</div> <img class="class-image" src="http://catalog-img/image-2.jpg" /> ... <div class="class-title">TITLE-3</div> <img class="class-image" src="http://catalog-img/image-3.jpg" /> ... <script> var elems = document.querySelectorAll('.class-title, .class-image'), massive = document.getElementById('massive'); [].forEach.call(elems, function(self) { if (self.tagName == 'IMG') { massive.value += '<p><img src=\"' + self.src + '\" /></p>\n'; } else { massive.value += '<p>' + self.innerHTML + '</p>\n'; } }); </script> </body> </html> |
Спасибо рони (+)...
То что нужно! |
Часовой пояс GMT +3, время: 01:00. |