Предположим, у меня есть ссылки на продукты на странице, некоторые продукты находятся в пределах рекомендованного раздела:
<a href="some_url?pid=abc"><img src ... ></a>
<a href="some_url?pid=abc">ABC Product Name...</a>
<a href="some_url?pid=def">
.... more product links
<div class="recommendations">
<a href="some_url?pid=uvw"> ...
<a href="some_url?pid=xyz"> ...
</div>
Мне нужно составить уникальный список pids для рекомендованных и нерекомендованных URL, например:
recommended_pids = ["uvw","xyz"];
non_recommened_pids = ["abc","def"];
Я знаю, что могу просмотреть список всех pid на странице следующим образом:
$('a[href*="pid="]').each(function() {
//get just the pid part
var link = this.href;
var pid = link.split('pid=')[1].split('&')[0];
pids.push(pid);
});
И я могу получить список рекомендуемых pids на странице с помощью селектора, подобного этому:
$('div.recommended a[href*="pid="]')
Сортируйте и удаляйте каждый массив, затем вычитайте все элементы, затем вычитайте массив, чтобы получить список нерекомендованных pids.
Но есть ли способ использовать другие фильтры jQuery для получения спискаpids НЕ содержится в рекомендованном div без обращения к написанию функции вычитания массива?