解决方法
这应该工作,它不需要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); },[]);
原文地址:https://www.jb51.cc/html/231859.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。