【问题标题】:Get element tag name and length with Jquery each分别使用 Jquery 获取元素标签名称和长度
【发布时间】:2013-12-24 22:02:40
【问题描述】:

我正在尝试获取有关页面中所有元素标签和频率的信息,这就是我找到标签的方式,非常简单:

$('body *').each(function(){
var string = this.tagName;

但长度赶不上:

var count =  $(this).length;

它给了我1,而有两个div,例如:JsFiddle

我可以通过删除each 函数来解决这个问题,但我需要它作为标记名。我必须为我的项目使用 body *,所以我不能直接引用 div。

【问题讨论】:

    标签: jquery each tagname


    【解决方案1】:

    试试看:

    var count =  $(string, 'body').length;
    

    【讨论】:

    • 很简单,我喜欢:)非常感谢
    【解决方案2】:

    您不是用body * 迭代每个标签的种类,而是单独迭代每个标签。长度始终为一,因为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 
    

    【讨论】:

    • 感谢您的解释
    猜你喜欢
    • 1970-01-01
    • 2018-07-13
    • 2011-07-17
    • 2013-04-06
    • 1970-01-01
    • 2014-07-14
    • 2012-03-16
    • 1970-01-01
    相关资源
    最近更新 更多