HTML
<div id="div-1">
<input id = "input1" >
</div>
<p id="demo"></p>
脚本语言
var list = document.getElementById("div-1").firstChild.id;
document.getElementById("demo").innerHTML = list;
我得到的输出是
Undefined
The firstChild(检索第一个子节点)可能是输入元素(空白)之前的文本节点,并且它没有任何id
属性,所以输出将是undefined
.
要解决该问题,请使用Element#querySelector获取输入元素或使用firstChildElement(未得到广泛支持,它检索第一个子元素)属性。
var list = document.getElementById("div-1").querySelector('input').id;
document.getElementById("demo").innerHTML = list;
<div id="div-1">
<input id="input1">
</div>
<p id="demo"></p>
var list = document.getElementById("div-1").firstElementChild.id;
document.getElementById("demo").innerHTML = list;
<div id="div-1">
<input id="input1">
</div>
<p id="demo"></p>
UPDATE :或者您可以直接选择元素Document#querySelector method.
// you can use css selector with querySelector
// which only gets the first element from them
var list = document.querySelector('#div-1 input').id;
document.getElementById("demo").innerHTML = list;
<div id="div-1">
<input id="input1">
</div>
<p id="demo"></p>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)