JS DOM获取 兄弟和子 元素节点

JS DOM获取 兄弟和子 元素节点

children 和 childNodes

1.children 返回 子标签 集合
2.childNodes 返回 子节点 集合

<body>
  <div class="wrap">
    <p>小情歌</p>
    <p>小情歌</p>
  </div>
  <script>
    let oWrap = document.querySelector(".wrap")
    console.log(oWrap.children);
    console.log(oWrap.childNodes);
  </script>
</body>

children 结果

请添加图片描述

childNodes 结果:

请添加图片描述

firstChild 和 firstElementChild

1.firstChild :返回第一个 子节点
2.firstElementChild :返回第一个 子标签

<body>
	//p标签前有空格!!!
  <div class="wrap"> <p>小情歌</p><p>小情歌</p></div>
  <script>
    let oWrap = document.querySelector(".wrap")
    console.log(oWrap.firstChild);
    console.log(oWrap.firstElementChild);
  </script>
</body>

firstChild 结果:

请添加图片描述

firstElementChild 结果:

请添加图片描述

lastChild 和 lastElementChild

1.lastChild 返回最后一个 子节点
2.lastElementChild 返回最后一个 子标签

<body>
  <div class="wrap">
    <p>小情歌</p>
    <p>小情歌</p>
  </div>
  <script>
    let oWrap = document.querySelector(".wrap")
    console.log(oWrap.lastChild);
    console.log(oWrap.lastElementChild);
  </script>
</body>
>lastChild

lastChild 结果:

请添加图片描述

lastElementChild 结果:

请添加图片描述

parentNode 和 parentElement

都是获取父标签

<body>
  <div class="wrap">
    <p>小情歌</p>
    <p>小情歌</p>
  </div>
  <script>
    let oWrap = document.querySelector("p")
    console.log(oWrap.parentNode);
    console.log(oWrap.parentElement);
  </script>
</body>

请添加图片描述

nextSibling 和 nextElementSibling

nextSibling 获取下一个 兄弟节点
nextElementSibling 获取下一个 兄弟元素

<body>
  <div class="wrap">
    <p>张三</p>
    <p>李四</p>
  </div>
  <script>
    let oWrap = document.getElementsByTagName("p")[0]
    console.log(oWrap.nextSibling);
    console.log(oWrap.nextElementSibling);
  </script>
</body>

nextSibling 结果:
请添加图片描述

nextElementSibling 结果:

请添加图片描述

previousSibling 和 previousElementSibling

previousSibling 返回上一个 兄弟节点
previousElementSibling 返回上一个 兄弟元素

<body>
  <div class="wrap">
    <p>张三</p>
    <p>李四</p>
  </div>
  <script>
    let oWrap = document.getElementsByTagName("p")[1]
    console.log(oWrap.previousSibling);
    console.log(oWrap.previousElementSibling);
  </script>
</body>

previousSibling 结果:

请添加图片描述

previousElementSibling 结果:

请添加图片描述

获取DOM的全部子元素,可以使用以下方法: 1. 使用原生JavaScript: - 使用`childNodes`属性可以获取DOM的所有子节点,包括空白节点。例如,`let cc = c.childNodes;`\[1\] - 使用`children`属性可以获取DOM的所有子元素节点,不包括空白节点。例如,`let cc = c.children;`\[1\] - 使用`firstChild`属性可以获取DOM的第一个子节点,包括空白节点。例如,`let first = c.firstChild;`\[1\] - 使用`firstElementChild`属性可以获取DOM的第一个子元素节点,不包括空白节点。例如,`let first = c.firstElementChild;`\[1\] - 使用`lastChild`属性可以获取DOM的最后一个子节点,包括空白节点。例如,`let last = c.lastChild;`\[1\] - 使用`lastElementChild`属性可以获取DOM的最后一个子元素节点,不包括空白节点。例如,`let last = c.lastElementChild;`\[1\] 2. 使用jQuery: - 使用`children()`方法可以返回DOM的所有直接子元素节点。例如,`$("dom").children();`\[3\] - 使用`contents()`方法可以返回DOM的所有内容,包括节点和文本。例如,`$("dom").contents();`\[3\] 综上所述,以上是获取DOM全部子元素的方法。 #### 引用[.reference_title] - *1* [4.DOM(三)1....全部子元素①空白c.childNodes②无空白c.children 3获取第一个和最后一个子元素](https://blog.csdn.net/lazylYYY/article/details/119572165)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [JS DOM获取 兄弟和子 元素节点](https://blog.csdn.net/qq_46275230/article/details/124235525)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [js获取dom元素的子元素,父元素,兄弟元素小记](https://blog.csdn.net/ClearLoveQ/article/details/89277575)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值