获取div内部对象的引用

时间:2015-11-18 10:59:54

标签: javascript html

我尝试使用普通 JavaScript来引用div中的对象:

<div id="main">
    <div id="search">
        <input type="text" id="query" />
        <button onclick="test()">OK</button>
    </div>
</div>
<script>
    function test() {
        try {
            var main = document.getElementById("main");
            var search = main.getElementById("search");
            alert(search);
        } catch (e) {
            alert(e);
        }
    }
</script>

但我一直收到这个错误:

  

TypeError:main.getElementById不是函数(...)

引用main有效,但不适用main内的内容。

我还设置了a Fiddle

3 个答案:

答案 0 :(得分:1)

要查找其他使用内的元素querySelector

document.querySelector('#main #search')

由于ID是唯一的,您可以直接使用

document.getElementById('search')

答案 1 :(得分:1)

错误的原因是getElemetnById()对象没有附加名为Element的方法。

由于元素的ID必须是唯一的,因此需要使用document.getElementById()

但是如果你想确保所述元素是anotehr元素的后代,你可以使用document.querSelector('#main #search')

答案 2 :(得分:1)

DOM元素没有getElementById方法。只有document对象才有此方法。 Id属性为元素指定唯一 ID。 这意味着只有一个元素可以id="search"。所以你可以使用document.getElementById("search");