JS-Dom-进阶一(选择器)

查找HTML元素

<div id="parent">
    <div class="son">

    </div>
    <div name="byName">
        hello
    </div>
    <p class="son">今天天气很好</p>
   </div>

注意事项:

 ① ID不能重名,如果ID重复,只能取到第一个。

 ② 获取元素节点时,必须等到DOM树加载完成后才能获取。
      两种处理方式: a.将JS写在文档最后; 
                    b.将代码写入window.onload函数中;
 ③ 通过getElements系列取到的为数组格式,操作时必须取到其中的每一个元素,才能进行操作,而不能直接对数组进行操作。

let app = document.getElementById("parent")//运用id名找到元素

let appSon = document.getElementsByName("byName")//运用name名找到元素

let appclass = document.getElementsByClassName("son")//运用类名找到元素


let appclass1 = app.getElementsByClassName("son")//通过父级找到子元素,以上都是在window中寻找,此次在app父级中查找


 let appTag= document.getElementsByTagName("p")//标签名查找元素
 let appName = document.querySelector(".parent")//通过选择器名称找到元素
 let son= document.querySelectorAll(".son")//通过选择器名称找到所有名字相同元素,返回数组格式

节点操作首先要获取到节点
1、创建节点

var para = document.createElement("p");``

2、为 para 元素创建一个新的文本节点:

var node = document.createTextNode("这是一个新的段落。");

3、将文本节点添加到 para 元素中:

para.appendChild(node);

4、将para添加到已有的app元素中,添加新元素到尾部。
新元素添加到开始位置,可以使用 insertBefore() 方法:

app.appendChild(para);

5、从父元素中移除子节点:

app.removeChild(son)

6、已知要查找的子元素,然后查找其父元素,再删除这个子元素(删除节点必须知道父节点)

let appclass1 = app.getElementsByClassName("son")
appclass1.parentNode.removeChild(child);

7、使用 replaceChild() 方法来替换 HTML DOM 中的元素。

var para = document.createElement("p");
var node = document.createTextNode("这是一个新的段落。");
para.appendChild(node);
 
var parent = document.getElementById("div1");
var child = document.getElementById("p1");
parent.replaceChild(para, child);

8、子节点

console.log(app.children)//所有子级
console.log(app.childNodes)//包括text内的所有子节点
console.log(appclass[0].parentElement)//父级
console.log(appclass[0].nextElementSibling)//同级下一个兄弟元素
console.log(appSon[0].previousElementSibling)//同级上一个兄弟元素


 firstElementChild第一个子节点

lastElementChild最后一个子节点

 nextElementSibling下一个子节点

previousElementSibling前一个子节点
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值