我需要在html文件中使用的类的列表。有什么工具可以在HTML文件中获得类的列表吗?如何获取HTML文件中使用Css类的列表?
回答
这应该工作,它不需要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(' '));
功能更强大的方法
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);
}, []);
在Firefox中不起作用:未定义“document.all”。 –
@RobW更新。谢谢 –
不得不更新它 - 因为它与“elements [i] .className.split('')”失败 - 不是函数。这里是更新的代码 - https://jsfiddle.net/dqad4n90/ – shershen
看看Dust Me Selectors。
这不完全是你要找的东西,它显示了UNused选择器的列表。不过,我想你可以使用它提供的列表的反转。
如果你有jQuery的网页上,运行此代码:
var classArray = [];
$('*').each(function(){if(this.className!=""){classArray.push(this.className)}})
变量classArray将包含HTML页面上指定的所有类。
我知道这是一个老问题,但来到这里,通过谷歌,所以我怀疑更多的人可以在这里了。
的捷径,利用querySelectorAll和班级名册(这意味着,浏览器的支持可能是一个问题:IE10 for classList和IE8 for querySelectorAll),并与重复,应该是:
var classes = 0,
elements = document.querySelectorAll('*');
for (var i = 0; i < elements.length; i++) {
classes = classes + elements[i].classList.length;
}
I made a jsFiddle与班级名册回退(其具有“最低”的浏览器支持),如果您不使用classList
,它也计算所有元素,所有类和所有具有类的元素。
虽然我没有添加一个独特的检测,但可能会在某一天得到。
谢谢!很适合最近的解决方案。普通香草JavaScript - >不需要jQuery。 –
迅速从控制台列表类(忽略 'NG-*' 角类)
(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. 如何使用javascript获取文件夹中的文件列表
- 2. 获取python文件中类的列表
- 3. 从使用GULP提取css文件中使用的图像获取列表
- 4. 如何获取Ruby中已被'required'使用的文件列表?
- 5. 如何使用Perl获取目录中纯文件的列表?
- 6. 如何使用C#和html-agility-pack获取html文件中的表的数量
- 7. 获取html文件中使用的所有css
- 8. 获取CSS类的列表样式表使用javascript/jQuery的
- 9. 如何使用CSS分解HTML列表
- 10. 如何使用rvest的read_html读取HTML文件列表?
- 11. 如何使用wget或curl获取可用文件的列表?
- 12. 如何使用Javascript获取客户端文件夹中的文件列表?
- 13. 使用HTML类属性在CSS文件
- 14. 如何从使用PHP的HTML文件中获取元数据?
- 15. 如何使用标签获取文件的提交列表?
- 16. 如何使用JGit获取已更改文件的列表?
- 17. 如何获取程序使用的文件列表?
- 18. 使用CSS内嵌获取HTML文件的源代码
- 19. 如何使用jquery获取特定类中的id列表?
- 20. 如何获取JAR文件中目录下的文件列表
- 21. 如何从html代码中获取类名列表?
- 22. 如何使用纯CSS获取HTML中的树
- 23. iMacros从HTML列表中获取文本
- 24. 如何使用jquery获取元素的css属性列表
- 25. 如何使用JavaMail获取邮件帐户中可用文件夹的列表
- 26. 如何获取html元素使用其样式的CSS文件路径?
- 27. 如何从文本文件中获取列和行。 php/html
- 28. 如何获取Wordpress类别或子弹下的文件列表
- 29. 如何获取CSS文件只影响HTML的一部分
- 30. 如何获取类文件以获取该类文件中的类?
你只需要类名,或也值列表? – Milan
可能是帮助我们http://html5boilerplate.com/ – sandeep
@sandeep这是怎么帮助_any_方式? – Bojangles