Просмотр полной версии : Поиск и удаление второго элемента класса
Nezumi.May
20.03.2017, 00:54
Здравствуйте!
Есть задачка: На странице имеются дубли материалов, например:
<section class="ya001"></section>
<section class="ya003"></section>
<section class="ya002"></section>
<section class="ya001"></section>
<section class="ya005"></section>
<section class="ya002"></section>
<section class="ya007"></section>
Есть ли какая-нибудь возможность с помощью скрипта отыскивать вторые элементы данного класса и удалять их? То бишь удалять дубли.
Есть ли какая-нибудь возможность с помощью скрипта отыскивать вторые элементы данного класса и удалять их?
Есть, но откуда они появляются?
Nezumi.May
20.03.2017, 21:33
Есть, но откуда они появляются?
Поиск такой, что добавляет к результатам по тегу результаты по названию. 3-6 элемента из 40 точно повторяются. Прихожу к выводу, что единственный подходящий вариант каким-нибудь способом удалить лишнее. Пробовала стилями, но что-то не то. А 40 раз проверять страницу на сходство классов совсем не айс. В общем, знаний не хватает что-либо сделать в этой ситуации.
Paguo-86PK
20.03.2017, 21:42
Можнo перед добавлением проверять наличие...
Nezumi.May
20.03.2017, 21:56
Можнo перед добавлением проверять наличие...
Так тут не добавление, просто выводятся дубли в поиски из-за особенности системы. Может быть вы имели ввиду повлиять на вывод информации? Но в таком случае получается, что для 40 элементов придётся делать 40 проверок, а это, пожалуй, будет долго загружаться..
Nezumi.May,
на сервере это надо делать, в любом случае все элементы нужно будет проверить.
Nezumi.May,
<!DOCTYPE html>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
<style type="text/css">
</style>
<script>
window.addEventListener('DOMContentLoaded', function() {
var obj = {};
[].forEach.call( document.querySelectorAll('[class^="ya"]'), function(el) {
obj[el.className] ? el.parentNode.removeChild(el): (obj[el.className]=true)
});
});
</script>
</head>
<body>
<section class="ya001">1</section>
<section class="ya003">3</section>
<section class="ya002">2</section>
<section class="ya001">1</section>
<section class="ya005">5</section>
<section class="ya002">2</section>
<section class="ya007">7</section>
</body>
</html>
Nezumi.May
20.03.2017, 23:56
рони,
Как всегда выручаете! Спасибо!
Доступа к серверу нет, увы. А насчёт проверить - этот способ, насколько я понимаю, проверяет элементы на странице один раз? Я-то вообще пробовала находить элементы с помощью тяжеловесного .is() - это было бы ужасно.
Доступа к серверу нет, увы.
Это как понимать?
vBulletin® v3.6.7, Copyright ©2000-2025, Jelsoft Enterprises Ltd. Перевод: zCarot