Eu recomendo usar class="imageN"por uma questão de HTML válido. Isso ou data-imageId="imageN"por uma questão de HTML5 válido. Com o primeiro, você poderá usar o seletor de classes.
Andy E de
Andy, a razão por trás disso é que esses divs são adicionados dinamicamente a partir do code-behind e têm ImageIds diferentes, mas a mesma classe '.
Pabuc de
3
você pode ter várias classes class="image imageN"se isso ajudar.
Val
Por que não selecionar o nome da classe se eles já tiverem a mesma classe?
Praxis Ashelin
Respostas:
140
$('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]')
@ThiefMaster - Se o valor do atributo não for constante (ou seja, ele irá variar), como encontrá-lo?
Desenvolvedor
algumas perguntas: 1- e quanto a outros elementos ... 2- e outros valores ... Eu posso ter o atributo data-food em muitos elementos: div's, img's e a td's, onde cada um tem um valor diferente.
dsdsdsdsd
@ParthoGanguly Você usa uma variável desta forma: $ ('div [imageId = "' + variableName + '"]')
Kama
1
Esta solução realmente não responde ao título desta página. Você está procurando por elementos que são divs. Uma solução adequada é aquela que é agnóstica em relação ao elemento real.
AndroidDev
162
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):
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.class="image imageN"
se isso ajudar.Respostas:
Para verificar a existência exclusiva do atributo, não importa qual valor, você pode usar este seletor:
$('div[imageId]')
fonte
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:
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):
fonte
$("[attr-name]")
? (ou seja, não*
)$("[data-toggle='modal']")
Não é chamado de tag; o que você está procurando é chamado de atributo html.
fonte
Você pode usar o valor parcial de um atributo para detectar um elemento DOM usando o sinal (^). Por exemplo, você tem divs como este:
Você pode usar o código:
Isso retornará uma matriz DOM de divs que têm id começando com
abc
:Aqui está a demonstração: http://jsfiddle.net/mCuWS/
fonte
Use a concatenação de string. Experimente isto:
fonte