我想浏览DOM并识别某些节点的HTML属性。例如,所有标签的类值。
Stackoverflow的另一个成员建议使用以下代码来处理DOM:http://jsfiddle.net/FJeaY/
效果很好,我可以用它来识别节点的ID和它的父节点。过滤超链接也非常容易:
walk_the_DOM(document.body, function(node) {
if(node.nodeName == "A")
alert(node.nodeName + ' id: ' + node.id);
});
但是我不确定使用什么来识别类(或任何其他HTML属性)。到目前为止,我搜索jQuery文档的所有内容都失败了。
任何想法都表示赞赏,请提前感谢。
答案 0 :(得分:2)
有问题的函数实际上根本不使用jQuery,而jQuery文档通常不适合学习DOM。
查看MDC HTMLElement
reference。你想要的是className
attribute:
walk_the_DOM(document.body, function(node) {
if(node.nodeName == "A") {
alert(node.nodeName + ' class: ' + node.className);
}
});
答案 1 :(得分:1)
.hasClass()
可用于测试特定类是否属于分配给该元素的类。将返回true或false。
$(node).hasClass('myclass')
或者您可以使用.attr()
获取元素的class
属性。
var klassz=$(node).attr('class');
而不是后者,您只需使用node.className
。
答案 2 :(得分:1)
结帐http://jsfiddle.net/tahir/7gfuT/
此代码直接使用DOM(仅用于阐明概念)。您可以使用bazmegakapa建议的jquery包装函数来简化对DOM属性的访问