Preciso encontrar todos os elementos que possuem um valor de atributo especial.
Aqui está o div que preciso encontrar (tenho muitos deles ..)
<div imageId='imageN'>...
Eu simplesmente preciso percorrer os divs que têm imageId='imageN'
Preciso encontrar todos os elementos que possuem um valor de atributo especial.
Aqui está o div que preciso encontrar (tenho muitos deles ..)
<div imageId='imageN'>...
Eu simplesmente preciso percorrer os divs que têm imageId='imageN'
class="image imageN"
se isso ajudar.
Respostas:
$('div[imageId="imageN"]').each(function() {
// `this` is the div
});
Para verificar a existência exclusiva do atributo, não importa qual valor, você pode usar este seletor: $('div[imageId]')
Embora não responda com precisão à pergunta, cheguei aqui ao procurar uma maneira de obter a coleção de elementos (nomes de tags potencialmente diferentes) que simplesmente tinham um determinado nome de atributo (sem filtrar por valor de atributo). Descobri que o seguinte funcionou bem para mim:
$("*[attr-name]")
Espero que ajude alguém que por acaso pousou nesta página procurando a mesma coisa que eu :).
Atualização: Parece que o asterisco não é necessário, ou seja, com base em alguns testes básicos, o seguinte parece ser equivalente ao acima (obrigado a Matt por apontar isso):
$("[attr-name]")
$("[attr-name]")
? (ou seja, não *
)
$("[data-toggle='modal']")
Você pode usar o valor parcial de um atributo para detectar um elemento DOM usando o sinal (^). Por exemplo, você tem divs como este:
<div id="abc_1"></div>
<div id="abc_2"></div>
<div id="xyz_3"></div>
<div id="xyz_4"></div>...
Você pode usar o código:
var abc = $('div[id^=abc]')
Isso retornará uma matriz DOM de divs que têm id começando com abc
:
<div id="abc_1"></div>
<div id="abc_2"></div>
Aqui está a demonstração: http://jsfiddle.net/mCuWS/
class="imageN"
por uma questão de HTML válido. Isso oudata-imageId="imageN"
por uma questão de HTML5 válido. Com o primeiro, você poderá usar o seletor de classes.