Javascript如何在NodeList中进行迭代并查找特定元素

时间:2018-07-10 07:18:59

标签: javascript

我正在尝试获取NodeList的所有div元素,问题是列表由文本,注释和HTML元素之类的不同项组成,我想获取的是div元素并附加一个id每个。

enter image description here

我想获得的是下面divs的列表。

enter image description here

我当前的代码在ListElements下面是NodeList。

  var list = $( ".jssorb18" ).find( "span" );
  var listElements = list.prevObject[0].childNodes;

     listElements.forEach( 
        function(currentValue, currentIndex, listObj) { 

            console.log(currentValue); 

        } 
    );

我的输出在下面,这很奇怪,因为我知道NodeList上有4个div元素或值,任何建议都会受到赞赏。

enter image description here

1 个答案:

答案 0 :(得分:1)

您可以使用instanceof运算符来检查节点是否为DivElement
如果您只需要附加一个ID:

td {
  white-space: nowrap
}

如果必须重复使用这些div,也可以将它们存储在列表中:

let divCounter = 0;
listElements.forEach( 
    function(currentNode, currentIndex, listObj) { 
        if (currentNode instanceof HTMLDivElement) {
            currentNode.id = 'myId' + divCounter++;
        }
    }
);