Muszę znaleźć wszystkie elementy, które mają specjalną wartość atrybutu.
Oto div, które muszę znaleźć (mam ich wiele ..)
<div imageId='imageN'>...
Muszę po prostu przejrzeć elementy div, które mają imageId='imageN'
Muszę znaleźć wszystkie elementy, które mają specjalną wartość atrybutu.
Oto div, które muszę znaleźć (mam ich wiele ..)
<div imageId='imageN'>...
Muszę po prostu przejrzeć elementy div, które mają imageId='imageN'
class="image imageN"jeśli to pomoże.
Odpowiedzi:
$('div[imageId="imageN"]').each(function() {
// `this` is the div
});
Aby sprawdzić, czy atrybut istnieje, niezależnie od wartości, możesz zamiast tego użyć tego selektora: $('div[imageId]')
Chociaż nie jest to dokładna odpowiedź na pytanie, trafiłem tutaj, szukając sposobu na uzyskanie kolekcji elementów (potencjalnie różnych nazw tagów), które po prostu miały podaną nazwę atrybutu (bez filtrowania według wartości atrybutu). Zauważyłem, że dobrze sprawdzają się u mnie:
$("*[attr-name]")
Mam nadzieję, że pomoże to komuś, kto trafi na tę stronę, szukając tego samego co ja :).
Aktualizacja: Wygląda na to, że gwiazdka nie jest wymagana, tj. Na podstawie kilku podstawowych testów, następujące wydaje się być równoważne powyższym (dzięki Mattowi za zwrócenie uwagi):
$("[attr-name]")
$("[attr-name]")? (tj. nie *)
$("[data-toggle='modal']")
Możesz użyć częściowej wartości atrybutu, aby wykryć element DOM za pomocą znaku (^). Na przykład masz takie elementy div:
<div id="abc_1"></div>
<div id="abc_2"></div>
<div id="xyz_3"></div>
<div id="xyz_4"></div>...
Możesz użyć kodu:
var abc = $('div[id^=abc]')
To zwróci tablicę DOM elementów div, które mają identyfikator zaczynający się od abc:
<div id="abc_1"></div>
<div id="abc_2"></div>
Oto demo: http://jsfiddle.net/mCuWS/
class="imageN"ze względu na prawidłowy HTML. Albo to, albodata-imageId="imageN"ze względu na poprawny HTML5. W przypadku tego pierwszego można by użyć selektora klas.