1

我想遍历 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 文档中所尝试的一切都失败了。

任何想法表示赞赏,在此先感谢您。

4

3 回答 3

2

有问题的函数实际上根本不使用 jQuery,而且 jQuery 文档通常不适合学习 DOM。

查看MDCHTMLElement参考资料。你想要的是className属性

walk_the_DOM(document.body, function(node) {
    if(node.nodeName == "A") {
        alert(node.nodeName + ' class: ' + node.className);
    }
});
于 2011-06-06T07:20:11.323 回答
1

.hasClass()可用于测试特定类是否在分配给元素的类中。将返回真或假。

$(node).hasClass('myclass')

或者您可以使用.attr()来获取class元素的属性。

var klassz=$(node).attr('class');

而不是后者,您可以简单地使用node.className其中任何一个。

于 2011-06-06T07:19:57.613 回答
1

结帐http://jsfiddle.net/tahir/7gfuT/

此代码直接使用 DOM(只是为了澄清概念)。您可以使用 bazmegakapa 建议的 jquery 包装函数来简化对 DOM 属性的访问

于 2011-06-06T07:29:33.790 回答