JS操作DOM元素的子父事件

js获取子节点的方式
  1. 通过获取dom方式直接获取子节点
    father 为父元素的id的值,div为标签的名字。返回一个数组
    var a = document.getElementById(“father”).getElementsByTagName(“div”);
<body>
<div id="father">
    <div></div>
    <div></div>
    <div></div>
</div>
<script>
    var a=document.getElementById("father").getElementsByTagName ("div");
    console.log(a);  //HTMLCollection(3) [div, div, div]
</script>
</body>
  1. 通过childNodes获取子节点
    使用childNodes获取子节点的时候,childNodes返回的是子节点的集合,是一个数组的格式。他会把换行和空格也当成是节点信息。
    console.log(ul_menu.childNodes); // [text, li, text, li#list, text, li, text, li, text]
    nodeName:节点名称(大写字母)
    nodeType:节点类型 元素类型为1,符号类型为3
    nodeValue:元素节点的nodeValue返回的是null
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>子父节点</title>
</head>
<body>
<ul id="menu">
    <li>西瓜</li>
    <li>苹果</li>
    <li id="list">香蕉</li>
    <li>樱桃</li>
</ul>
<script>
    //获取元素
    var ul_menu=document.getElementById ("menu");
//获取所有的节点childNodes  集合类型
    console.log(ul_menu.childNodes); // [text, li, text, li#list, text, li, text, li, text]
    console.log(ul_menu.childNodes[0]);//回车符号
    //nodeType  当前节点的类型  元素的类型是1
    console.log(ul_menu.childNodes[0].nodeType);// 符号的类型是 :3
    console.log(ul_menu.childNodes[1].nodeType);// 元素的类型是 :1
    //nodeName 节点名称  大写 --tolowercase
    console.log(ul_menu.childNodes[1].nodeName );//LI
    //nodevalue  节点的值
    console.log(ul_menu.childNodes[1].nodeValue );//null

childElementCount 获取子节点个数

    var count=ul_menu.childElementCount;
    console.log(count); // 4
  1. 通过children来获取子节点
    利用children来获取子元素是最方便的,他也会返回出一个数组。对其获取子元素的访问只需按数组的访问形式即可。
  //获取子元素
    console.log(ul_menu.children);  // [li, li, li, li]
  1. 获取同胞兄弟元素
    (1)获取下一个节点 nextSibling
    (2)获取下一个元素 nextElementSibling
    (3)获取上一个节点 previousSibling
    (4)获取上一个元素 previousElementSibling

  2. 获取父元素里面的第一个或者最后一个
    (1)firstChild 第一个节点 (可能为回车符号)
    (2)firstElementChild 第一个元素
    (3)lastElementChild 最后一个元素
    (4)lastChild 最后一个节点 (可能为回车符号)

<body>
<ul id="menu">
    <li>西瓜</li>
    <li>苹果</li>
    <li id="list">香蕉</li>
    <li>樱桃</li>
    <li>草莓</li>
</ul>
<script>
//获取同胞兄弟元素
    var listt=document.getElementById ("list");
     //获取下一个节点
     console.log(listt.nextSibling); //回车符号  #text
     //获取下一个元素
     console.log(listt.nextElementSibling);  //<li>樱桃</li>
     //获取上一个节点
     console.log(listt.previousSibling );  //回车符号  #text
     //获取上一个元素
     console.log(listt.previousElementSibling);  //<li>苹果/li>

     //获取父元素里面的第一个或者最后一个
     //firstChild  第一个节点
     console.log(ul_menu.firstChild);  //回车符号  #text
     //firstElementChild 第一个元素
     console.log(ul_menu.firstElementChild);   //<li>西瓜/li>
     //lastElementChild 最后一个元素
     console.log(ul_menu.lastElementChild); //<li>草莓/li>
     //lastChild  最后一个节点
     console.log(ul_menu.lastChild);  //回车符号  #text

6 .createElement : 创建元素
7. appendChild:元素追加子元素 , 追加到当前元素的内容之后
(1) appendChild() 方法向节点添加最后一个子节点。
(2)使用 appendChild() 方法从一个元素向另一个元素中移动元素。

<body>
​<script>
//createElement :创建元素
     var mi=document.createElement("li");
     mi.innerHTML ="芒果";   //里面的内容
     mi.id ="mini";   //设置的Id
      ul_menu.appendChild(mi);
</script>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值