Sí, pero no está presente en todos los navegadores. Las versiones anteriores de Internet Explorer (es decir, antes de la versión 8) no son compatibles. La función es querySelectorAll
(o querySelector
para un solo elemento), que le permite usar selectores CSS para encontrar elementos.
document.querySelectorAll('[property]'); // All with attribute named "property"
document.querySelectorAll('[property=value]'); // All with "property" set to "value" exactly.
(Complete list of attribute selectors on MDN.)
Esto encuentra todos los elementos con la propiedad de atributo. Sería mejor para especificar un nombre de etiqueta si es posible:
document.querySelectorAll('span[property]');
Puede solucionar este caso, de bucle a través de todos los elementos de la página para ver si han establecido el atributo:
var withProperty = [],
els = document.getElementsByTagName('span'), // or '*' for all types of element
i = 0;
for (i = 0; i < els.length; i++) {
if (els[i].hasAttribute('property')) {
withProperty.push(els[i]);
}
}
Las bibliotecas como jQuery manejan esto por usted: probablemente sea una buena idea dejar que hagan el trabajo pesado.
¿Nos puedes contar por qué es necesario hacerlo de esta manera en concreto? Es muy ineficiente y hay mejores formas de abordarlo. –