Мне нужно найти все элементы со специальным значением атрибута.
Вот div, который мне нужно найти (у меня их много ..)
<div imageId='imageN'>...
Мне просто нужно перебрать div, у которых есть imageId='imageN'
Мне нужно найти все элементы со специальным значением атрибута.
Вот div, который мне нужно найти (у меня их много ..)
<div imageId='imageN'>...
Мне просто нужно перебрать div, у которых есть imageId='imageN'
class="image imageN"если это поможет.
Ответы:
$('div[imageId="imageN"]').each(function() {
// `this` is the div
});
Чтобы проверить единственное существование атрибута, независимо от того, какое значение, вы можете вместо этого использовать селектор ths: $('div[imageId]')
Хотя это не совсем ответ на вопрос, я попал сюда, когда искал способ получить коллекцию элементов (потенциально разные имена тегов), которые просто имели заданное имя атрибута (без фильтрации по значению атрибута). Я обнаружил, что мне хорошо подходят следующие варианты:
$("*[attr-name]")
Надеюсь, что это поможет кому-то, кто случайно попал на эту страницу в поисках того же, что и я :).
Обновление: похоже, что звездочка не требуется, т.е. на основе некоторых базовых тестов, следующее кажется эквивалентным приведенному выше (спасибо Мэтту за указание на это):
$("[attr-name]")
$("[attr-name]")? (т.е. нет *)
$("[data-toggle='modal']")
Вы можете использовать частичное значение атрибута для обнаружения элемента DOM с помощью знака (^). Например, у вас есть такие div:
<div id="abc_1"></div>
<div id="abc_2"></div>
<div id="xyz_3"></div>
<div id="xyz_4"></div>...
Вы можете использовать код:
var abc = $('div[id^=abc]')
Это вернет DOM-массив div с идентификатором, начинающимся с abc:
<div id="abc_1"></div>
<div id="abc_2"></div>
Вот демонстрация: http://jsfiddle.net/mCuWS/
class="imageN"для правильного HTML. Либо так, либоdata-imageId="imageN"ради валидного HTML5. В первом случае вы сможете использовать селектор классов.