【问题标题】:Jsoup: Optimal way of checking whether a <div> has an IDJsoup:检查 <div> 是否有 ID 的最佳方法
【发布时间】:2011-03-22 06:29:58
【问题描述】:

我可以使用 getElementsByTag("div") 遍历文档中的所有 div 元素。

现在我想建立一个只有具有“id”属性的 div 元素的列表(即具有“class”属性的 div 元素不应该在列表中)。

直觉上,我想检查这样的事情:

  if (divElement.attr("id") != "")
    add_to_list(divElement);

我的方法完全正确吗?

是否有更优化的测试方法来测试“id”属性? (上面对 DOM 文档中的每个元素都使用了字符串比较)

【问题讨论】:

    标签: java html jsoup


    【解决方案1】:

    你可以这样做:

    Elements divsWithId = doc.select("div[id]");
    for(Element element : divsWithId){
        // do something
    }
    

    参考:

    【讨论】:

      【解决方案2】:

      试试这个:

      var all_divs = document.getElementsByTagName("div");
      var divs_with_id = [];
      
      for (var i = 0; i < all_divs.length; i++)
        if (all_divs[i].hasAttribute("id"))
          divs_with_id.push(all_divs[i]);
      

      【讨论】:

      • 这是 Javascript 吗? :) Jsoup 是用 Java 编写的,而不是 Javascript。
      • Pardon.... 有点错过了问题的标题。但是我使用的所有方法都是 DOM,所以它们应该在所有语言中都一样。
      猜你喜欢
      • 2011-01-04
      • 2013-06-28
      • 1970-01-01
      • 1970-01-01
      • 2012-05-23
      • 2018-08-17
      • 1970-01-01
      • 1970-01-01
      • 2017-08-26
      相关资源
      最近更新 更多