<ul class="list"><li>item1</li><li>item2</li><li>item3</li><li>item4</li><li>item5</li><li>item6</li></ul><script>// 获取所有子节点const list =document.querySelector('.list')let items = list.childNodes//所有的的子节点(包括回车)items = [...items].filter(item=>item.nodeType==1)//获取元素节点。// 另一种简便方法items=list.children// 获取第一个子元素console.log(items[0].textContent)console.log(list.firstElementChild.textContent)//获取最后一个子元素节点console.log(items[items.length-1].textContent)console.log(list.lastElementChild)//获取其中一个字元素节点let four =document.querySelector('.list :nth-child(4)')console.log(four.textContent)// 获取子节点的前一个console.log(four.previousElementSibling.textContent)//获取子节点的后一个console.log(four.nextElementSibling.textContent)// 获取子元素的父节点let parent = four.parentElementconsole.log(parent)console.log(parent.contains(four))// ———————————————————————指定位置插入—————————————————————// 2 API 方法// 1. `insertAdjacentElement()`:指定位置插入**元素**// 2. `insertAdjacentText()`: 指定位置插入**文本**节点// 3. `insertAdjacentHTML()`: 指定位置插入**元素节点**(DOMString)let h3 = document.createElement('h3')h3.textContent='hello world'// 1. `beforebegin`:元素自身的前面list.insertAdjacentElement('beforebegin',h3)// 2. `afterbegin`:插入元素内部的第一个子节点之前list.insertAdjacentElement('afterbegin',h3)// 3. `beforeend`:插入元素内部的最后一个子节点之后list.insertAdjacentElement('beforeend',h3)// 4. `afterend`:元素自身的后面list.insertAdjacentElement('afterend',h3)//追加元素list.insertAdjacentHTML('afterend','<button onclick="this.remove()">删除</button>')</script>
<script>//创建元素const ul =document.createElement('ul')// 文档中添加元素document.body.append(ul)console.log('111')// 文档片段方式添加(防止数据量大造成页面抖动,用文档片段的方法去做)const frag =document.createDocumentFragment('ul')for(let i=0;i<6;i++){const li = document.createElement('li')li.append('item-'+(i+1))frag.append(li)}//创建完后一次性添加到ul中。ul.append(frag)// after方法let three= ul.querySelector(':nth-child(3)')let li = document.createElement('li')li.append('指定子元素前面新增')three.before(li)//beforeli = document.createElement('li')li.append('指定子元素后面新增新增')three.before(li)//console.log(three)//克隆ul.append(li.cloneNode(true))// 替换/更新最后一个子元素let h2 = document.createElement('h2')h2.textContent='hello world'ul.replaceChild(h2,ul.lastElementChild)//删除指定元素ul.querySelector(':nth-child(3)').remove()// ———————————————————————元素内容添加—————————————————————//textContent可以获取css 隐藏元素都可以获取,innerText不能获取css及隐藏元素console.log(document.querySelector('h2').textContent);console.log(document.querySelector('h2').innerText);//直接原样输出document.querySelector('.box').innerText='<h3 style="color: red;">测试innerHtml和innerText</h3>'//渲染后显示document.querySelector('.box').innerHTML='<h3 style="color: red;">测试innerHtml和innerText</h3>'//替换自己document.querySelector('.box').outerHTML=null// 同remove等效// document.querySelector('.box').remove()
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号