//后两个参数可省略 function (name, type, parent) { var tempElems = []; var pattern = new RegExp("(^| )" + name + "( |$)"); var e = (parent || document).getElementByTagName(type || "*"); for (var i = 0; i < e.length; i++) { if (pattern.test(e[i].className)) { tempElems.push(e[i]); } } return tempElems; }
jquery做笔记简单。$(".class名称")
jquery是最简单的方案,此外,就得你自己去研究了,从DOM入手,或者去分析JQUERY的代码。
主要还是先查找父容器的ID,然后是标签名,接着才是class。
function getClass(str, root, tag) { if (root) { root = typeof root == "string" ? document.getElementById(root) : root; } else { root = document.body; } tag = tag || "*"; var els = root.getElementsByTagName(tag), arr = []; for (var i = 0; i < els.length; i++) { for (var j = 0; k = els[i].className.split(" "), j < k.length; j++) { if (k[j] == str) { arr.push(els[i]); break; } } } return arr; }
这里用正则匹配className更方便一些