原生JS获取父节点,兄弟节点的方式

原生JS各个节点的方式

在这里我先创建了四个元素

下面展示一些 `html片段

    <ul id="ul" >
        <li id="li1">节点一号选手</li>
        <li id="li2">节点二号选手</li>
        <li id="li3">节点三号选手</li>
    </ul>  

获取父节点的方式(parentNode)

var fathen = div2.parentNode;
console.log(father); 

在这里插入图片描述

获取第一个子节点(firstChild)

console.log(ul.firstChild)

可是这里我们发现没有办法对它进行改变,并且当我们打印出来的却不是想要的li,而是#text,然后当展开它的时候,我们发现在这里插入图片描述
第一个文本节点是回车,所以如果说想要获得第一个li的话必须对html的排版进行更改

     <ul id="ul" ><li id="li1">节点一号选手</li>
        <li id="li2">节点二号选手</li>
        <li id="li3">节点三号选手</li></ul>  

再次打印在这里插入图片描述

获取最后一个子节点

console.log(ul.lastChild)

在这里插入图片描述

获取所有子节点

console.log(ul.childNodes)

这里打印出来的时候是这样的在这里插入图片描述
根据上一题的情况,text就是我们的回车按钮,所以如果只需要获得三个li的话只需要改成

<ul id="ul" ><li id="li1">节点一号选手</li><li id="li2">节点二号选手</li><li id="li3">节点三号选手</li></ul>  

就可以取消所有的text回车的文本节点了。在这里插入图片描述

获得兄弟节点

获得下一个兄弟节点

console.log(li2.nextSibling)

在这里插入图片描述
同样的还有获得上一个兄弟节点

console.log(li2.previousSibling)

注意事项

其实根据我们日常写法,获取第一个以及最后一个节点的时候,回车跟空格这些也算是文本节点的一种,所以在打印的时候会出现一个#text,只需要注意到回车与空格也是文本节点,就可以了。

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值