从nodelist中的节点获取id属性

时间:2015-06-01 10:04:21

标签: javascript html5

我目前在javascript中使用document.getElementsByClassName方法获得了一个nodelist。然后我检查第一个节点是否有子节点,如果没有,我会返回带有节点ID的document.getElementById。我不确定如何从节点列表中获取ID。

 var columns = document.getElementsByClassName('.col-md-4.column');

if (countChildren(columns[0].childNodes) == 0) {
    return document.getElementById(columns[0].) //not sure what goes here
}

2 个答案:

答案 0 :(得分:1)

如果你有一个DOM节点,它有一个id属性,你不能使用getElementById获取该属性

var columns = document.querySelectorAll('.col-md-4.column');

if ( countChildren(columns[0].childNodes) == 0 ) {
    return columns[0].id;
}

请注意,getElementsByClassName会在不使用句点的情况下使用这些类,但为了获得更好的支持,您也可以使用querySelectorAll

答案 1 :(得分:1)

毫不奇怪,它是.id

return document.getElementById(columns[0].id);

但更重要的是,您已经拥有对节点的引用 - 不要为它查询DOM:

return columns[0];