J'ai besoin de trouver tous les éléments qui ont une valeur d'attribut spéciale.
Voici la div que je dois trouver (j'en ai beaucoup )
<div imageId='imageN'>...
J'ai simplement besoin de passer en boucle les divs qui ont imageId='imageN'
J'ai besoin de trouver tous les éléments qui ont une valeur d'attribut spéciale.
Voici la div que je dois trouver (j'en ai beaucoup )
<div imageId='imageN'>...
J'ai simplement besoin de passer en boucle les divs qui ont imageId='imageN'
Bien que cela ne réponde pas précisément à la question, j'ai atterri ici en cherchant un moyen d'obtenir la collection d'éléments (potentiellement différents noms de balises) qui ont simplement un nom d'attribut donné (sans filtrer par la valeur de l'attribut). J'ai trouvé que la méthode suivante fonctionnait bien pour moi :
$("*[attr-name]")
J'espère que cela aidera quelqu'un qui atterrirait sur cette page en cherchant la même chose que moi :).
Mise à jour : Il semble que l'astérisque n'est pas nécessaire, c'est-à-dire que sur la base de quelques tests de base, ce qui suit semble être équivalent à ce qui précède (merci à Matt de l'avoir signalé) :
$("[attr-name]")
C'est tout à fait possible... je n'ai pas vérifié l'aspect performance (ce n'était pas un facteur important pour mon utilisation à l'époque).
@ThiefMaster - Si la valeur de l'attribut n'est pas constante, (c'est-à-dire qu'elle varie) alors comment la trouver ?
Quelques questions : 1- qu'en est-il des autres éléments ... 2- qu'en est-il des autres valeurs ... Je pourrais avoir l'attribut données alimentaires sur de nombreux éléments : div's, img's et td's, où chacun a une valeur différente.
@ParthoGanguly Vous utilisez une variable de cette façon : $('div[imageId="' + variableName + '"]')
Vous pouvez utiliser la valeur partielle d'un attribut pour détecter un élément DOM en utilisant le signe (^). Par exemple, vous avez des divs comme ceci :
<div id="abc_1"></div>
<div id="abc_2"></div>
<div id="xyz_3"></div>
<div id="xyz_4"></div>...
Vous pouvez utiliser le code :
var abc = $('div[id^=abc]')
Cela renverra un tableau DOM des divs dont l'id commence avec abc
:
<div id="abc_1"></div>
<div id="abc_2"></div>
Voici la démo : http://jsfiddle.net/mCuWS/
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.
6 votes
Je recommande d'utiliser
class="imageN"
pour des raisons de validité du HTML. Soit ça, soitdata-imageId="imageN"
au nom de la validité du HTML5. Dans le premier cas, vous pourriez utiliser le sélecteur de classe.0 votes
Andy, la raison derrière cela est que ces divs sont ajoutés dynamiquement à partir du code-behind et ont des ImageIds différents mais la même classe'.
3 votes
Vous pouvez avoir plusieurs classes
class="image imageN"
si cela peut aider.0 votes
Pourquoi ne pas sélectionner sur le nom de la classe s'ils ont déjà la même classe ?