|
20.03.2017, 00:54
|
|
Аспирант
|
|
Регистрация: 10.01.2017
Сообщений: 36
|
|
Поиск и удаление второго элемента класса
Здравствуйте!
Есть задачка: На странице имеются дубли материалов, например:
<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>
Есть ли какая-нибудь возможность с помощью скрипта отыскивать вторые элементы данного класса и удалять их? То бишь удалять дубли.
|
|
20.03.2017, 01:00
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Сообщение от Nezumi.May
|
Есть ли какая-нибудь возможность с помощью скрипта отыскивать вторые элементы данного класса и удалять их?
|
Есть, но откуда они появляются?
|
|
20.03.2017, 21:33
|
|
Аспирант
|
|
Регистрация: 10.01.2017
Сообщений: 36
|
|
Сообщение от laimas
|
Есть, но откуда они появляются?
|
Поиск такой, что добавляет к результатам по тегу результаты по названию. 3-6 элемента из 40 точно повторяются. Прихожу к выводу, что единственный подходящий вариант каким-нибудь способом удалить лишнее. Пробовала стилями, но что-то не то. А 40 раз проверять страницу на сходство классов совсем не айс. В общем, знаний не хватает что-либо сделать в этой ситуации.
|
|
20.03.2017, 21:42
|
|
Профессор
|
|
Регистрация: 16.09.2009
Сообщений: 253
|
|
Можнo перед добавлением проверять наличие...
|
|
20.03.2017, 21:56
|
|
Аспирант
|
|
Регистрация: 10.01.2017
Сообщений: 36
|
|
Сообщение от Paguo-86PK
|
Можнo перед добавлением проверять наличие...
|
Так тут не добавление, просто выводятся дубли в поиски из-за особенности системы. Может быть вы имели ввиду повлиять на вывод информации? Но в таком случае получается, что для 40 элементов придётся делать 40 проверок, а это, пожалуй, будет долго загружаться..
|
|
20.03.2017, 22:08
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,108
|
|
Nezumi.May,
на сервере это надо делать, в любом случае все элементы нужно будет проверить.
|
|
20.03.2017, 22:26
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,108
|
|
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>
|
|
20.03.2017, 23:56
|
|
Аспирант
|
|
Регистрация: 10.01.2017
Сообщений: 36
|
|
рони,
Как всегда выручаете! Спасибо!
Доступа к серверу нет, увы. А насчёт проверить - этот способ, насколько я понимаю, проверяет элементы на странице один раз? Я-то вообще пробовала находить элементы с помощью тяжеловесного .is() - это было бы ужасно.
|
|
21.03.2017, 03:32
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Сообщение от Nezumi.May
|
Доступа к серверу нет, увы.
|
Это как понимать?
|
|
|
|