Ich würde empfehlen, class="imageN"für gültiges HTML zu verwenden. Entweder das oder data-imageId="imageN"für gültiges HTML5. Mit dem ersteren können Sie die Klassenauswahl verwenden.
Andy E
Andy, der Grund dafür ist, dass diese Divs dynamisch von Code-Behind hinzugefügt werden und unterschiedliche ImageIds haben, aber dieselbe Klasse.
Pabuc
3
Sie können mehrere Klassen haben, class="image imageN"wenn das hilft.
Val
Warum wählen Sie dann nicht den Klassennamen aus, wenn sie bereits dieselbe Klasse haben?
Praxis Ashelin
Antworten:
140
$('div[imageId="imageN"]').each(function(){// `this` is the div});
Um zu überprüfen, ob das Attribut allein vorhanden ist, können Sie stattdessen den Selektor verwenden: $('div[imageId]')
@ThiefMaster - Wenn der Attributwert nicht konstant ist (dh variiert), wie kann er dann gefunden werden?
Entwickler
ein paar Fragen: 1- was ist mit anderen Elementen ... 2- was ist mit anderen Werten ... Ich könnte das Attribut data-food für viele Elemente haben: div's, img's und a td's, wobei jedes einen anderen Wert hat.
dsdsdsdsd
@ParthoGanguly Sie verwenden eine Variable auf diese Weise: $ ('div [imageId = "' + variableName + '"]')
Kama
1
Diese Lösung beantwortet den Titel dieser Seite nicht wirklich. Sie suchen nach Elementen, die divs sind. Eine richtige Lösung ist eine, die für das eigentliche Element agnostisch ist.
AndroidDev
162
Obwohl es die Frage nicht genau beantwortet, bin ich hier gelandet, als ich nach einer Möglichkeit gesucht habe, die Sammlung von Elementen (möglicherweise unterschiedliche Tag-Namen) zu erhalten, die einfach einen bestimmten Attributnamen hatten (ohne nach Attributwert zu filtern). Ich fand, dass Folgendes für mich gut funktionierte:
$("*[attr-name]")
Hoffe, das hilft jemandem, der zufällig auf dieser Seite landet und nach dem sucht, was ich war :).
Update: Es scheint, dass das Sternchen nicht erforderlich ist, dh basierend auf einigen grundlegenden Tests scheint das Folgende dem oben genannten zu entsprechen (danke an Matt für den Hinweis):
class="imageN"
für gültiges HTML zu verwenden. Entweder das oderdata-imageId="imageN"
für gültiges HTML5. Mit dem ersteren können Sie die Klassenauswahl verwenden.class="image imageN"
wenn das hilft.Antworten:
Um zu überprüfen, ob das Attribut allein vorhanden ist, können Sie stattdessen den Selektor verwenden:
$('div[imageId]')
quelle
Obwohl es die Frage nicht genau beantwortet, bin ich hier gelandet, als ich nach einer Möglichkeit gesucht habe, die Sammlung von Elementen (möglicherweise unterschiedliche Tag-Namen) zu erhalten, die einfach einen bestimmten Attributnamen hatten (ohne nach Attributwert zu filtern). Ich fand, dass Folgendes für mich gut funktionierte:
Hoffe, das hilft jemandem, der zufällig auf dieser Seite landet und nach dem sucht, was ich war :).
Update: Es scheint, dass das Sternchen nicht erforderlich ist, dh basierend auf einigen grundlegenden Tests scheint das Folgende dem oben genannten zu entsprechen (danke an Matt für den Hinweis):
quelle
$("[attr-name]")
? (dh nein*
)$("[data-toggle='modal']")
Es wird nicht als Tag bezeichnet. Was Sie suchen, wird als HTML-Attribut bezeichnet.
quelle
Sie können den Teilwert eines Attributs verwenden, um ein DOM-Element mithilfe des Zeichens (^) zu erkennen. Zum Beispiel haben Sie Divs wie diese:
Sie können den Code verwenden:
Dies gibt ein DOM-Array von Divs zurück, deren ID mit
abc
folgendem beginnt :Hier ist die Demo: http://jsfiddle.net/mCuWS/
quelle
Verwenden Sie die Zeichenfolgenverkettung. Versuche dies:
quelle