Necesito la lista de clases utilizadas en un archivo html. ¿Hay alguna herramienta donde pueda obtener una lista de clases en el archivo HTML?¿Cómo obtener la lista del uso de la clase Css en el archivo HTML?
Respuesta
esto debería funcionar y no necesita jquery.
var used = [];
var elements = null;
//get all elements
if (typeof document.getElementsByTagName != 'undefined') {
elements = document.getElementsByTagName('*');
}
if (!elements || !elements.length) {
elements = document.all; // ie5
}
//loop over all element
for (var i = 0; i < elements.length; i++){
//loop over element's classes
var classes = elements[i].className.split(' ');
for (var j = 0; j < classes.length; j++) {
var name = classes[j];
//add if not exists
if (name.length > 0 && used.indexOf(name) === -1) {
used.push(name);
}
}
}
alert(used.join(' '));
enfoque más funcional
var elements = document.getElementsByTagName('*');
var unique = function (list, x) {
if (x != "" && list.indexOf(x) === -1) {
list.push(x);
}
return list;
};
var trim = function (x) { return x.trim(); };
var classes = [].reduce.call(elements, function (acc, e) {
return e.className.split(' ').map(trim).reduce(unique, acc);
}, []);
No funciona en Firefox: 'document.all' no está definido. –
@RobW actualizado. Gracias –
tuve que actualizarlo un poco - porque falla con "elements [i] .className.split ('')" - no es una función. aquí está el código actualizado - https://jsfiddle.net/dqad4n90/ – shershen
Eche un vistazo a los selectores de polvo.
No es exactamente lo que está buscando, muestra una lista de selectores no utilizados. Sin embargo, imagino que podrías usar el inverso de la lista que proporciona.
Aquí está el enlace: http://www.sitepoint.com/dustmeselectors/
Lo sé, pero eso no resolvería mi problema. – KuldipMCA
Parece una buena extensión, ¡sin embargo, solo habla de la compatibilidad con FF3.5! Ahora estamos en Firefox "6.0" (4.0 con 2 versiones de corrección de errores). – Bojangles
@KuldipMCA Bueno, te llevará un poco del camino hasta allí. Por favor, ponga algo de su propio esfuerzo en el problema que está teniendo. – Bojangles
Si tienes jQuery en la página, ejecute este código:
var classArray = [];
$('*').each(function(){if(this.className!=""){classArray.push(this.className)}})
La variable classArray contendrá todas las clases especificadas en esa página HTML.
+1 para una buena solución @MisterGreen. Y bienvenido a SO! –
va a tener duplicados en su resultado. –
los nombres de las etiquetas y los ID están en la lista – shershen
Sé que esto es una vieja pregunta, pero tengo aquí a través de Google así que sospecho que más gente pueda llegar aquí también.
El camino más corto, utilizando querySelectorAll y classList (lo que significa, visualización podría ser un problema: IE10 for classList y IE8 for querySelectorAll), y con duplicados, sería:
var classes = 0,
elements = document.querySelectorAll('*');
for (var i = 0; i < elements.length; i++) {
classes = classes + elements[i].classList.length;
}
I made a jsFiddle con una reserva para classList (que tiene el soporte de navegador "más bajo") que también cuenta todos los elementos, todas las clases y todos los elementos con clases si no está usando classList
.
No agregué una detección única, aunque podría llegar algún día.
¡Gracias! Agradable para una solución reciente. JavaScript simple -> No requiere jQuery. –
Rápidamente clases de lista de consola (ignorando las clases angulares '*') ñg-
(global => {
// get all elements
const elements = document.getElementsByTagName('*');
// add only unique classes
const unique = (list, x) => {
x != '' && list.indexOf(x) === -1 && x.indexOf('ng-') !== 0 && list.push(x);
return list;
};
// trim
const trim = (x) => x.trim();
// add to variable
global.allClasses = [].reduce.call(elements, (acc, e) => e.className.split(' ').map(trim).reduce(unique, acc), []).sort();
console.log(window.allClasses);
})(window);
- 1. selector CSS para obtener el elemento más profundo de la clase específica en el árbol HTML
- 2. Obtener todos los css utilizados en el archivo html
- 3. HTML + CSS: lista pedida sin el período?
- 4. Sangría Lista en HTML y CSS
- 5. Obtener origen de archivo HTML con CSS Inline
- 6. Uso de HTML en CSS después de la etiqueta para el estado en blanco
- 7. Cómo extender la clase css
- 8. Desventajas en el uso de html/css/javascript con phonegap en lugar del objetivo C (iPhone)
- 9. obtener el nombre de archivo de la clase extendida
- 10. Cómo obtener la lista del conjunto y el comparador
- 11. ¿Cómo obtener el nombre del archivo de la intención?
- 12. CSS y Javascript: Obtener una lista de atributos CSS personalizada
- 13. HTML/Javascript - Obtener texto del archivo en línea
- 14. ¿Cómo mejorar la forma en que uso Textmate para Ruby on Rails, HTML, CSS y Javascript?
- 15. HTML no carga el archivo CSS
- 16. Obtener la versión del archivo en PowerShell
- 17. uso javascript para obtener el estilo de un elemento de un archivo CSS externo
- 18. html css - ¿cómo crear una lista de columnas múltiples?
- 19. Uso: desplácese para modificar el CSS de otra clase?
- 20. ¿Cómo obtener la ruta del archivo en html <input type = "file"> en PHP?
- 21. Cómo obtener la lista de configuraciones regionales en .Net
- 22. obtener sólo la primera clase de un elemento HTML
- 23. cómo obtener la lista de puertos que están en uso en el servidor
- 24. ¿Cómo obtener la posición del artículo en una lista?
- 25. ¿Cómo puedo obtener la URL del archivo JS en el mismo archivo JS?
- 26. ¿Cómo obtener la ruta del archivo desde el URI?
- 27. cómo obtener el valor seleccionado y la clave de una lista desplegable HTML en javascript php
- 28. ¿Cómo obtener la fecha de creación del archivo en Linux?
- 29. Cómo obtener la posición del elemento transformado con css rota
- 30. ¿Qué hace la clase clearfix en css?
¿Necesita simplemente lista de los nombres de las clases o valores también? – Milan
puede ser que eso nos ayude http://html5boilerplate.com/ – sandeep
@sandeep ¿Cómo ayuda eso de alguna manera? – Bojangles