¿Cómo obtener todos los elementos por nombre de clase en javascript puro? Analógico $ ('. Clase') en Jquery?¿Cómo obtener todos los elementos por nombre de clase?
Respuesta
document.getElementsByClassName(klass)
Tenga en cuenta que algunos motores (en particular los navegadores antiguos) no lo tienen. Puede considerar usar una cuña, si ese es el caso. Será lento e iterará sobre todo el documento, pero funcionará.
En some browsers hay una función document.getElementsByClassName(class)
. De lo contrario, la única opción que tiene es iterar sobre todos los elementos en el documento comprobando cada uno de ellos contra su condición de tener el nombre de clase requerido.
document.getElementsByClassName('your class');
o usted puede construir su nombre de clase de esta manera, si eso no funciona prueba este
if (!document.getElementsByClassName) {
document.getElementsByClassName=function(cn) {
var allT=document.getElementsByTagName('*'), allCN=[], i=0, a;
while(a=allT[i++]) {
a.className==cn ? allCN[allCN.length]=a : null;
}
return allCN
}
}
Esto debería funcionar:
function(className)
{
var matchingItems = [];
var allElements = document.getElementsByTagName("*");
for(var i=0; i < allElements.length; i++)
{
if(allElements [i].className == className)
{
matchingItems.push(allElements[i]);
}
}
return matchingItems;
}
Sí pero no sugieren que lo utilizan De esta forma, utilicé el intento de hacer algo como esto y luego obtuve un gran problema de rendimiento en IE7, ya que funciona muy lento –
Estoy de acuerdo. Seguramente hay soluciones más elegantes. Veo que @Kunal a continuación está usando expresiones regulares que también son más limpias. Solo estaba proporcionando una opción rápida para que el solicitante pudiera tener una idea. – spinon
Esto no funcionará si se aplican dos clases al elemento –
function getElementsByClassName(oElm, strTagName, strClassName){
var arrElements = (strTagName == "*" && oElm.all)? oElm.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\\-");
var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
Esto es similar a un fragmento de código en un libro de punto de sitio. Solo curiosidad si esa es la fuente, ¿o es solo una extraña coincidencia? – pqsk
Varias técnicas descritas y velocidad probado aquí: http://ejohn.org/blog/getelementsbyclassname-speed-comparison/
Un simple y una manera fácil
var cusid_ele = document.getElementsByClassName('custid');
for (var i = 0; i < cusid_ele.length; ++i) {
var item = cusid_ele[i];
item.innerHTML = 'this is value';
}
Al avanzar, el ciclo saltará cada segunda entrada si los elementos se eliminan en el ciclo. Entonces, mejor retrocede. (Edité la respuesta en consecuencia, pendiente de revisión por pares). –
- 1. ¿Ocultando todos los elementos con el mismo nombre de clase?
- 2. cómo obtener elementos por nombre usando jquery?
- 3. Obtener todos los elementos iframe
- 4. ¿Obtener elementos de formulario por nombre?
- 5. Obtener todos los elementos de opciones seleccionados de todos los elementos seleccionados en un formulario
- 6. jQuery obtener elementos por nombre
- 7. ¿Alguna forma de obtener todos los id (atributos) de todos los elementos de una clase concreta?
- 8. Obtener todos los elementos por coincidencia parcial del atributo de clase
- 9. ¿Eliminar elementos por nombre de clase?
- 10. Obtener todos los elementos de un ArrayAdapter
- 11. Cómo obtener elementos por clase en JavaScript?
- 12. Javascript: Ocultar elementos por nombre de clase
- 13. Cómo quitar la clase de todos los elementos de jQuery
- 14. Navegador cruzado Selección de elementos por nombre de clase
- 15. Obtener todos los elementos del hilo Cola
- 16. HierarchyID Cómo obtener todos los elementos principales de un hijo
- 17. Cómo obtener elementos por nombre en XML usando LINQ
- 18. Obtener elementos por nombre de clase dentro de otro elemento con jQuery
- 19. ¿Cómo obtener todos los elementos cuyo nombre comienza con una cadena?
- 20. obtener el ensamblaje por nombre de clase
- 21. C# cómo puedo obtener todos los nombres de los elementos de un archivo XML
- 22. ¿Obtener una clase por nombre en Ruby?
- 23. jQuery función de disparo en todos los elementos de clase
- 24. Obtener instancia de clase por nombre de clase cadena
- 25. ¿Cómo encontrar todos los elementos XML por nombre de etiqueta en Groovy?
- 26. ¿Cómo puedo obtener todos los elementos secundarios de los elementos con selectores CSS que usan selenio?
- 27. jquery: obtener elementos por nombre de clase y agregar css a cada uno de ellos
- 28. ¿Cómo obtener elementos por nombre en Delphi Chromium Embedded?
- 29. Cómo desencadenar eventos en todos los elementos
- 30. rieles: Obtener todos los elementos etiquetados x AND yY z
http://stackoverflow.com/questions/1933602/how-to-getelementbyclass-instead-of-getelementbyid-with-javascript – silly