Найти все элементы с определенным значением атрибута в jquery
Мне нужно найти все элементы со специальным значением атрибута.
Вот div, который мне нужно найти (у меня их много.)
<div imageId='imageN'>...
Мне просто нужно пройти через div, которые имеют imageId='imageN'
Ответ 1
$('div[imageId="imageN"]').each(function() {
// `this` is the div
});
Чтобы проверить наличие единственного атрибута, независимо от того, какое значение вы могли бы использовать вместо этого селектор: $('div[imageId]')
Ответ 2
Хотя он точно не отвечает на вопрос, я приземлился здесь, когда искал способ получить коллекцию элементов (потенциально разные имена тегов), которые просто имели заданное имя атрибута (без фильтрации по значению атрибута). Я обнаружил, что для меня работали хорошо:
$("*[attr-name]")
Надеюсь, что это поможет кому-то, кто попадает на эту страницу, ищет то же, что и я:).
Обновление:
Похоже, что звездочка не требуется, т.е. На основе некоторых базовых тестов, похоже, эквивалентно приведенному выше (спасибо Мэтту за это указание):
$("[attr-name]")
Ответ 3
Он не называется тегом; то, что вы ищете, называется атрибутом html.
$('div[imageId="imageN"]').each(function(i,el){
$(el).html('changes');
//do what ever you wish to this object :)
});
Ответ 4
Вы можете использовать частичное значение атрибута для обнаружения элемента DOM с помощью знака (^).
Например, у вас есть такие divs: