使用javascript获取div[无jQuery]

使用javascript获取div[无jQuery],javascript,dom,Javascript,Dom,如何使用传统javascript访问div.id=“columns”中的div请不要使用jQuery <div id="columns"> <div>DiV A</div> <div>DiV B</div> <div>DiV C</div> </div> A组 B组 C组 在中工作。这几乎适用于任何情况: var divs = document.getElementById('c

如何使用传统javascript访问div.id=“columns”中的div请不要使用jQuery

<div id="columns">
   <div>DiV A</div>
   <div>DiV B</div>
   <div>DiV C</div>
</div>

A组
B组
C组
在中工作。这几乎适用于任何情况:

var divs = document.getElementById('columns').getElementsByTagName('div');
我在工作。这几乎适用于任何情况:

var divs = document.getElementById('columns').getElementsByTagName('div');

如果您正在寻找一种更加手工的解决方案(传统根目录),您可以尝试以下方法:

var col = document.getElementById('columns');
for (var i =0; i < col.childNodes.length; i++) {
    var node = col.childNodes[i];
    if (node.nodeType == 1) {
        // do something with the node here
    }
}
var col=document.getElementById('columns');
对于(变量i=0;i
如果您正在寻找更为手工的解决方案(传统根目录),您可以尝试以下方法:

var col = document.getElementById('columns');
for (var i =0; i < col.childNodes.length; i++) {
    var node = col.childNodes[i];
    if (node.nodeType == 1) {
        // do something with the node here
    }
}
var col=document.getElementById('columns');
对于(变量i=0;i
我们可以不用“querySelectorAll”来完成吗。。。我正在寻找不同的可能方式来关注支持。它不支持IE7-:请参阅@MattBall的答案,了解更为传统的替代方案。我们能在没有“querySelectorAll”的情况下做到这一点吗。。。我正在寻找不同的可能方式来关注支持。它不支持IE7-:请参阅@MattBall的答案,了解更传统的替代方法。
.childNodes
返回包含元素的文本节点。当然,您可以检查
节点类型
,以筛选所需内容(元素为1)。当我说node.length时,我得到4,但我想应该是3;既然我们只有3个divs,那么既然OP提出了问题,您为什么要这样做而不是使用
getElementsByTagName()
。我不是说这是最好的。我刚刚介绍了另一种方法。
.childNodes
返回包含元素的文本节点。当然,您可以检查
节点类型
以筛选所需内容(元素为1)。当我说node.length时,我得到4,但我想应该是3;既然我们只有3个divs,那么既然OP提出了问题,您为什么要这样做而不是使用
getElementsByTagName()
。我不是说这是最好的。我刚刚介绍了另一种方法。