0

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

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

直觉上,我正在考虑检查这样的事情:

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

我的方法完全正确吗?

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

4

2 回答 2

1

你可以这样做:

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

参考:

于 2011-03-21T22:22:09.423 回答
0

试试这个:

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]);
于 2011-03-21T21:12:07.057 回答