通过javascript获取比当前元素低1级的元素

Bil*_*lly 10 javascript dom

我需要访问DOM树并获取当前元素下方1级的元素.

阅读以下代码:

<div id="node">
    <div id="a">
        <div id="aa">
            <div id="ab">
                <div id="aba"></div>
            </div>
        </div>
    </div>
    <div id="b">
        <div id="ba">
            <div id="bb">
                <div id="bba"></div>
            </div>
        </div>
    </div>
    <div id="c">
        <div id="ca">
            <div id="cb">
                <div id="cba"></div>
            </div>
        </div>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

我想在"节点"下得到3个元素"a","b","c".我该怎么办?

var nodes = node.getElementsByTagName("div")<----我得到所有的div但不是我需要的3个div.

var nodes = node.childNodes; <----适用于IE,但FF包含文本节点

有谁知道如何解决这个问题?

Tur*_*smo 12

您可以使用排除所有非元素节点的函数:

function getChildNodes(node) {
    var children = new Array();
    for(var child in node.childNodes) {
        if(node.childNodes[child].nodeType == 1) {
            children.push(child);
        }
    }
    return children;
}
Run Code Online (Sandbox Code Playgroud)