2011-12-06 19 views
6
<body> 
    <span someAttribute="xyz">.....</span> 
    ... 
    <div> 
    ... 
    <span someAttribute="abc">.....</span> 
    ... 
    <div someAttribute="pqr">.....</div> 
    ... 
    </div> 
</body> 

Aquí hay una página HTML de ejemplo .. Necesito seleccionar los elementos HTML por sus atributos que pueda obtener los valores de atributos por getAttribute() pero necesito para seleccionar todos los elementos en primer lugar.Javascript para obtener los elementos por su atributo

Cómo en javascript para obtener elementos que tienen el nombre de atributo como "someAttribute". Una vez que obtengo los elementos, puedo obtener los valores de los atributos y usar mi función.

Nota: quiero hacer esto sin usar jquery.

Respuesta

6

almacenan cada elemento de una matriz en el bucle de cada elemento, y si el elemento contiene el atributo someAttribute do somgthing.

var arr_elms = []; 
arr_elms = document.body.getElementsByTagName("*"); 
var elms_len = arr_elms.length; 

for (var i = 0; i < elms_len; i++) { 
    if(arr_elms[i].getAttribute("someAttribute") != null){ 
    alert("FOUND : " + arr_elms[i].getAttribute("someAttribute")); 
    } 
} 
+0

funciona amigo ... solo necesito un poco de codificación adicional ... lo haré ... gracias ... :) –

+0

genial, no se preocupe! – david

0

Puede recorrer todos los elementos del árbol DOM.

0

Puede seleccionar elementos por nombre de etiqueta usando document.body.getElementsByTagName("div") para obtener todos los elementos div dentro de su documento. Esta función devuelve una matriz de elementos, que puede analizar y filtrar los elementos que no coinciden con sus criterios.

0

puede utilizar

var all = document.getElementsByTagName('*'); 

pero esto también devuelve el html, head y body ...

y luego hacer un bucle sobre todos los elementos y buscar los atributos.

+0

quiero llegar elementos que tienen el nombre del atributo como "algúnAtributo" ... ¿cómo puedo hacer eso –

0

He encontrado un fragmento llamado getElementsByAttribute(doc, tagArray, attribute, attributeValue)

Puede darle una oportunidad a un violín de trabajo: http://jsfiddle.net/Yx7EU/

Esperamos que esto pueda ayudar.

+0

hey 'getElementsByAttributedoc, tagArray, attribute, attributeValue)' de hecho neet para obtener el valor del atributo de eso ... se puede hacer con solo 'getElementsByAttributedoc, tagArray, atributo) ' –

6

En los nuevos navegadores que puede hacer:

var el = document.querySelector('[someAttribute="someValue"]'); 
-2

var elem = document.querySelectorAll ('tagName [attributeName = " '+ valueInVariable +'"]')

+1

Por favor absténgase de publicar respuestas que simplemente dupliquen respuestas existentes y no agreguen nada nuevo. –

Cuestiones relacionadas