我尝试使用普通 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。
答案 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");