JavaSrcipt操作DOM
1.选择器
由于HTML文档被浏览器解析后就是一颗DOM树,要改变HTML结构,就需要通过JavaScript来操作DOM。
始终记住DOM是一个树形结构。操作一个DOM节点实际上就是这么几个操作。
- 更新:更新该DOM节点的内容,相当于更新了该DOM节点表示的HTML的内容
- 遍历:遍历该DOM节点下的子节点,以便进行进一步操作
- 添加:在该DOM节点下增加一个子节点,相当于动态增加了一个HTML节点
- 删除:该节点从HTML中删除,相当于删掉了该DOM节点的内容以及它包含的所有子节点
在操作一个DOM节点前,我们需要通过各种方式先拿到这个DOM节点。最常用的方法时document.getElementById()和document.getElementsByTagName(),以及CSS选择器document.getElementsByClassName()。
由于ID在HTML文档中是唯一的,所以document.getElementById()可以直接定位唯一的一个DOM节点。document.getElementsByTagName()和document.getElementsByClassName()总是返回一组DOM节点。要精确地选择DOM,可以先定位父节点,再从父节点开始选择,以缩小范围。
1 //返回ID为test的节点 2 var test = document.getElementById('test'); 3 4 //定位ID为test-table的节点,在返回其内部所有的tr节点 5 var trs = document,getElementById('test-table').getElementsByTagName('tr'); 6 7 //定位ID为test-div节点,在返回其内部所有class包含red的节点 8 var reds = document.getElementById('test-div').getElementsVyClassName('red'); 9 10 //获取节点test下的所有直属子节点 11 var cs = test.children; 12 13 //获取节点test下第一个,最后一个子节点 14 var first = test.firstElementChild; 15 var last = test.lastElementChild;
第二种方法是使用querySelector()和querySelectorAll(),需要了解selector语法,然后使用条件来获取节点,更加方便:
待补充.....
浙公网安备 33010602011771号