纯javascript选择子dom
我正在学习不要只使用jquery纯javascript,只要开始使用就会遇到麻烦。。。。。 如何选择子dom纯javascript选择子dom,javascript,Javascript,我正在学习不要只使用jquery纯javascript,只要开始使用就会遇到麻烦。。。。。 如何选择子dom <div class="row-button"> <input type="submit" /> </div> 或者我想可能需要添加windowonload来确保dom准备就绪 window.onload = function () { var submit_button = document.getElementsByClassNa
<div class="row-button">
<input type="submit" />
</div>
或者我想可能需要添加windowonload来确保dom准备就绪
window.onload = function () {
var submit_button = document.getElementsByClassName("row-button");
console.log(submit_button.nodeType); //undefined
console.log(submit_button.firstChild); // undefined
console.log(submit_button.childNodes[0]); // TypeError: 'undefined' is not an object (evaluating 'submit_button.childNodes[0]')
}
注意:它是
getElement
s
这意味着它返回匹配元素的节点列表(类似数组的对象)
尝试:
这不仅增加了对IE8的支持,而且还返回了一个元素,即具有所需类的第一个元素
getElementsByClassName("row-button")
返回类“行按钮”
的元素数组。因此,要获得它的第一个(并且仅在代码中)子级,请使用
var submit_button = document.getElementsByClassName("row-button")[0];
请尝试submit_按钮[0]。firstChild
getElementsByClassName–由于某种原因,它在方法名称中是复数形式。您为什么要学会不使用jQuery,似乎会适得其反?@CBroe非常感谢@乔什·克罗齐,谢谢,它很管用
getElementsByClassName("row-button")
var submit_button = document.getElementsByClassName("row-button")[0];