层级关系的获取
<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>

1万+

被折叠的 条评论
为什么被折叠?



