Ho bisogno di un elenco di classi utilizzate in un file html. C'è qualche strumento in cui posso ottenere l'elenco delle classi nel file HTML?Come ottenere l'elenco delle classi Css utilizzate nel file HTML?
risposta
questo dovrebbe funzionare e non ha bisogno di 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(' '));
approccio più funzionale
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);
}, []);
Non funziona in Firefox: 'document.all' non è definito. –
@RobW aggiornato. Grazie –
ha dovuto aggiornarlo un po '- perché fallisce con "elements [i] .className.split (' ')" - non è una funzione. ecco il codice aggiornato - https://jsfiddle.net/dqad4n90/ – shershen
Dai un'occhiata a Dust Me Selectors.
Non è esattamente quello che stai cercando, mostra un elenco di selettori non utilizzati. Tuttavia, immagino che potresti usare l'inverso della lista che fornisce.
Ecco il link: http://www.sitepoint.com/dustmeselectors/
Lo so, ma questo non risolverebbe il mio problema. – KuldipMCA
Sembra una buona estensione, tuttavia si tratta solo del supporto FF3.5! Siamo ora su Firefox "6.0" (4.0 con 2 versioni di bugfix). – Bojangles
@ KuldipMCA Beh, vi porterà un po 'di là. Per favore dedica un po 'del tuo impegno al problema che stai facendo. – Bojangles
Se hai jQuery nella pagina, eseguire questo codice:
var classArray = [];
$('*').each(function(){if(this.className!=""){classArray.push(this.className)}})
La variabile classArray conterrà tutte le classi indicate in quella pagina HTML.
+1 per una soluzione piacevole @MisterGreen. E benvenuti a SO! –
avrai duplicati nel risultato. –
tagnames e ID sono nella lista – shershen
So che questa è una vecchia questione, ma arrivato tramite Google così ho il sospetto che più persone possono ottenere anche qui.
La via più breve, usando querySelectorAll e classList (che significa, il supporto del browser potrebbe essere un problema: IE10 for classList e IE8 for querySelectorAll), e con i duplicati, sarebbe:
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 un ripiego per classList (che ha il "browser" più basso) che conta anche tutti gli elementi, tutte le classi e tutti gli elementi con le classi se non stai usando classList
.
Non ho aggiunto un rilevamento univoco, potrei arrivarci un giorno.
Grazie! Bello per una soluzione recente. Plain vanilla JavaScript -> Non richiede jQuery. –
rapidamente le classi di elenco da console (ignorando '* ñg-' classi angolari)
(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. Ottenere tutti i CSS utilizzati nel file html
- 2. Come ottenere elementi HTML con più classi CSS
- 3. Come specificare l'ordine delle classi CSS?
- 4. Rimuovi automaticamente classi CSS non utilizzate da un progetto
- 5. Ottimizza carattere Impressionante solo per le classi utilizzate
- 6. Come ottenere i nomi delle DLL utilizzate dall'applicazione
- 7. Ottieni l'URL delle immagini nel file CSS utilizzando Java?
- 8. Perché Visual Studio non risolve i nomi delle classi CSS?
- 9. File HTML GWT con CSS
- 10. Genera jar minimizzato con solo classi utilizzate
- 11. Ricerca di classi non utilizzate nell'app C#
- 12. Come ottenere tutti i nomi delle classi in un pacchetto?
- 13. Come impedire la compilazione delle variabili globali "non utilizzate"?
- 14. si fa a mettere condizionali di IE nel file css o nel file html?
- 15. Come aggiungere due classi CSS da controllare nel codice?
- 16. Come ottenere tutte le classi CSS di un elemento?
- 17. Creazione di CSS da un file HTML
- 18. Come ottenere un albero in HTML utilizzando puro CSS
- 19. Ottenere tutte le classi nel Classpath
- 20. Come faccio a ottenere un'estensione di file specifica come se fosse .html nel file .vimrc?
- 21. Impostazione delle dimensioni dell'icona nel CSS
- 22. Includere file HTML nel file R Markdown?
- 23. Come inserire spazi/tabulazioni nel testo usando HTML/CSS?
- 24. Elenco delle classi CSS conosciute che utilizzano Javascript
- 25. HTML/CSS - Come ottenere l'etichetta all'interno del modulo da animare?
- 26. come modificare htm/css nel tema drupal?
- 27. Come ottenere le icone dell'unità utilizzate in Esplora risorse?
- 28. Include il file PHP nel file HTML
- 29. Come utilizzare sass per evitare correttamente l'incorporamento dei nomi delle classi bootstrap di twitter su HTML
- 30. Cambia l'attributo delle CSS Pseudo classi (: hover) con jQuery
Avete bisogno solo elenco di nomi di classi, o valori anche? – Milan
potrebbe esserci d'aiuto http://html5boilerplate.com/ – sandeep
@sandeep Come può essere d'aiuto in ogni modo? – Bojangles