2013-12-20 4 views
1

я найти коллекцию a тегов с помощью JQuery, как это:JQuery, поиск элемента со значением в атрибуте среди соответствующих элементов

itemsPresent = $('h3.zn-ItemTitle > a'); 

Позже в моем сценарии мне нужно найти a в пределах соответствующих элементов с определенный url в свой атрибут href, не делая новый выбор jQuery.

Как это сделать?

+0

Вы позже можете вызвать ['.filter'] (http://api.jquery.com/filter/) на' itemsPresent'. – andyb

ответ

1

Вы можете использовать attribute equals селектор:

itemsPresent = $('h3.zn-ItemTitle > a[href="http://your-url.com"]'); 

В качестве альтернативы, если вы хотите сохранить их как отдельные объекты:

var itemsPresent = $('h3.zn-ItemTitle > a'), 
    filteredAnchors = itemsPresent.filter('[href="http://your-url.com"]'); 
1

Используйте .filter() фильтровать объект Jquery на основе ваших желаемых условий.

Попробуйте,

itemsPresent.filter(function(){ 
    return $(this).attr('href') == 'something'; 
}) 

Или, как BenM предложил вы можете использовать,

itemsPresent.filter('[href="something"]'); 
+0

Почему бы просто не отфильтровать селектор 'attribute equals'? – BenM

+0

@BenM Я не уверен на 100% в этом случае, но селекторы атрибутов обычно невероятно медленны по сравнению с свойствами чтения напрямую. –

1

Вы можете filter коллекция

itemsPresent = $('h3.zn-ItemTitle > a'); 

var otherItems1 = itemsPresent.filter('[href="someUrl"]'); 

//or 

var otherItems2 = itemsPresent.filter(function() { 
    return this.href.indexOf('someURL') != -1; 
}); 
1

Вы можете использовать filter:

var $a = itemsPresent.filter(function() { 
    return $(this).prop('href') == 'http://your-website.com'; 
}); 
Смежные вопросы