Devo trovare tutti gli elementi che hanno un valore di attributo speciale.
Ecco il div che devo trovare (ne ho molti ..)
<div imageId='imageN'>...
Ho semplicemente bisogno di scorrere i div che hanno imageId='imageN'
Devo trovare tutti gli elementi che hanno un valore di attributo speciale.
Ecco il div che devo trovare (ne ho molti ..)
<div imageId='imageN'>...
Ho semplicemente bisogno di scorrere i div che hanno imageId='imageN'
class="image imageN"se questo aiuta.
Risposte:
$('div[imageId="imageN"]').each(function() {
// `this` is the div
});
Per verificare la sola esistenza dell'attributo, indipendentemente dal valore, puoi utilizzare invece questo selettore: $('div[imageId]')
Sebbene non risponda esattamente alla domanda, sono arrivato qui durante la ricerca di un modo per ottenere la raccolta di elementi (nomi di tag potenzialmente diversi) che avevano semplicemente un dato nome di attributo (senza filtrare per valore di attributo). Ho scoperto che quanto segue ha funzionato bene per me:
$("*[attr-name]")
Spero che questo aiuti qualcuno che capita ad atterrare su questa pagina cercando la stessa cosa che ero io :).
Aggiornamento: sembra che l'asterisco non sia richiesto, ovvero in base ad alcuni test di base, quanto segue sembra essere equivalente al precedente (grazie a Matt per averlo segnalato):
$("[attr-name]")
$("[attr-name]")? (cioè no *)
$("[data-toggle='modal']")
È possibile utilizzare il valore parziale di un attributo per rilevare un elemento DOM utilizzando il segno (^). Ad esempio, hai div come questo:
<div id="abc_1"></div>
<div id="abc_2"></div>
<div id="xyz_3"></div>
<div id="xyz_4"></div>...
Puoi usare il codice:
var abc = $('div[id^=abc]')
Questo restituirà un array DOM di div che hanno id che inizia con abc:
<div id="abc_1"></div>
<div id="abc_2"></div>
Ecco la demo: http://jsfiddle.net/mCuWS/
class="imageN"per il bene di HTML valido. O quello odata-imageId="imageN"per il bene di HTML5 valido. Con il primo, potresti usare il selettore di classe.