通過JS的DOM獲取div里面的其它元素的兩種方法 ? getElementsByTagName 和 querySelector ,具體使用方法如下:
<div id="box">
<input type="text" id="h1" value="h1">
<input type="text" id="h2" value="h2">
</div>
getElementsByTagName的獲取方式:
<script>
var box = document.getElementById('box')
var input = box.getElementsByTagName('input')[0];
input.style.backgroundColor = 'pink'
</script>
?這里的 ('input')[0]? 因?yàn)間etElementsByTagName獲取的是一個(gè)偽數(shù)組集合,不能直接注冊(cè)事件,必須要提取單個(gè)元素才可以,[0] 是索引號(hào)。效果圖如下:
如果可以改為 [1]? 就是 h2 改變背景,如果需要獲取所有的input,可以用循環(huán)?
var box = document.getElementById('box')
var input = box.getElementsByTagName('input');
for (var i = 0; i < input.length; i++) {
input[i].style.backgroundColor = 'pink'
}
?
querySelector的獲取方式:
var input = document.querySelector('#box input')
input.style.backgroundColor = 'pink';
這種方法是實(shí)際開發(fā)中常用的方法,比較嚴(yán)謹(jǐn)一些,不過 querySelector 只能獲取第一個(gè),如果想要獲取全部可以使用:文章來源:http://www.zghlxwxcb.cn/news/detail-551379.html
var input = document.querySelectorAll('input')
for (var i = 0; i < input.length; i++) {
input[i].style.backgroundColor = 'pink'
}
注意:getElementsByTagName、getElementsByClassName、getElementsByName、querySelectorAll 獲取的都是偽數(shù)組集合,都不能直接注冊(cè)事件,需要在后面加上索引文章來源地址http://www.zghlxwxcb.cn/news/detail-551379.html
到了這里,關(guān)于JS獲取div里面的其它元素的兩種方法的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!