我正在尝试获取有关所有元素标签的信息以及页面中的频率,这就是我找到标签的方式,非常简单:
$('body *').each(function(){
var string = this.tagName;
但长度没有赶上:
var count = $(this).length;
1
当有两个 div 时,它给了我,例如: JsFiddle
我可以通过删除函数来解决这个问题,each
但我需要它作为标记名。我必须为我的项目使用 body *,所以我不能直接引用 div。
尝试一下:
var count = $(string, 'body').length;
您不是用 迭代每种标签,body *
而是单独迭代每个标签。长度将始终为 1,因为this
始终是单个 DOM 元素。
您应该枚举要计数的标签,并对其进行迭代:
var tags = ['div', 'li', 'a'];
tags.forEach(function (tag) {
console.log(tag, "appears", $('body ' + tag).length, 'times');
});
在此页面上的 JS 控制台中运行的输出:
div appears 141 times
li appears 66 times
a appears 179 times