Удалить все элементы с одинаковым значением атрибута тега
Есть к примеру список <ul><li>...
у каждого <li> есть атрибут data-name Так вот они могут и будут повторятся, мне нужно удалять дубликаты при этом оставлять один видимым. Пробовал через css :not(:first-child) {display: none; Но Если элемент не повторяется, то он тоже скрывается. А мне нужно отобразить все просто дубликаты отсеять. Как это сделать на jQuery ? |
А дубликаты откуда берутся, надо полагать сервер их поставляет, а сервер откуда их берет?
|
Как верно сказано выше, дубли должен отсеивать ещё сервер.
А так: var list = Object.create(null); $( 'li[data-name]' ).each(function(){ var $li = $(this), name = $li.data('name'); if(name in list) $li.css('display', 'none'); else list[name] = true; }); |
Цитата:
В одном случае, у тебя процесс распараллелится по миллиону компов, а в другом -- клиенты будут ждать до посинения, в худшем случае, секунда*миллион времени. Слегка утрировал, но суть та же. |
fuckingquest, передача лишнего трафика и соответственно занятое соединение потратит больше времени чем фильтрация на сервере, тем более если отсеивать лишнее правильным запросом к бд.
|
Цитата:
А слать мусор клиенту по принципу "да хрен с ним, процессоры сейчас мощные, памяти хватит, пусть карячится", это что подход? Ну так по такому принципу с сервера можно столько плюнуть на клиента, что завалится уже клиент. |
laimas,
Цитата:
При последовательной обработке первый будет ждать мало, последний много, с тредами все будут ждать среднебольничное, грубо говоря. |
Цитата:
А работа на клиенте, это тоже ресурсы и о них тоже нужно думать. |
Цитата:
|
Цитата:
|
Часовой пояс GMT +3, время: 21:22. |