层级关系

层级关系的获取

<div id="container">
    <div>
        <ul id="ul">
            <li>列表1</li>
            <li>列表2</li>
            <li>列表3</li>
            <li>列表4</li>
        </ul>
    </div>
</div>
<script>
    var ul = document.getElementById("ul");
    var div = ul.parentNode.parentNode;
    console.log(div);
    /*在js中,html中的换行或者空格被当做一个元素来处理*/
    var first = ul.firstChild;/*存在bug*/
    var first = ul.firstElementChild;/*修复以后提供的方法*/
    console.log(first);
    var last = ul.lastChild;
    var last = ul.lastElementChild;
    console.log(last);
</script>
<div id="container">
    <div>
        <ul id="ul">
            <li>列表1</li>
            <li>列表2</li>
            <li id="li" name="li3" title="列表3">列表3</li>
            <li>列表4</li>
            <li>列表4</li>
        </ul>
    </div>
</div>
<script>
    var ul = document.getElementById("ul");
    console.log(ul.childNodes);/*存在bug,空格和换行当做元素*/
    console.log(ul.children);/*修复以后的写法,只返回子元素*/
    /*返回当前元素的根节点*/
    console.log(ul.ownerDocument);
    var li = document.getElementById("li");
    /*存在bug,空格和换行当做元素*/
    console.log(li.previousSibling);
    console.log(li.nextSibling);
    /*/*修复以后的写法,只返回前后相邻元素*/
    console.log(li.previousElementSibling);
    console.log(li.nextElementSibling);
    console.log(li.attributes);
</script>

 

创建元素和追加元素
<div id="container">
    <div>
        <ul id="ul">
            <li>列表1</li>
            <li>列表2</li>
            <li>列表3</li>
            <li>列表4</li>
        </ul>
    </div>
</div>
<script>
    /*新增元素*/
    var li = document.createElement("li");
    li.innerHTML = "列表5";
    /*新元素插入到ul标签内*/
    var ul = document.getElementById("ul");
    ul.appendChild(li);
</script>
创建元素和插入元素
<div id="container">
    <div id="body">
        <ul id="ul">
            <li>列表1</li>
            <li>列表2</li>
            <li id="li3">列表3</li>
            <li>列表4</li>
        </ul>
    </div>
</div>
<script>
    /*新增元素*/
    var li = document.createElement("li");
    li.innerHTML = "列表5";
    /*新元素插入到ul标签内*/
    var ul = document.getElementById("ul");
    var li3= document.getElementById("li3");
    /*insertBefore(新元素,再该元素之前插入)
    * 调用insertBefore的元素只能是当前元素的直接父元素。*/
    ul.insertBefore(li,li3);
</script>
复制元素和插入元素
<div id="container">
    <div id="body">
        <ul id="ul">
            <li>列表1</li>
            <li>列表2</li>
            <li id="li3">列表3</li>
            <li>列表4</li>
        </ul>
    </div>
</div>
<script>
    var ul = document.getElementById("ul");
    var newLi = ul.firstElementChild.cloneNode(false);
    var li3 = document.getElementById("li3");
    ul.insertBefore(newLi,li3);
</script>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值