<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title> 插入到某个子元素的前面 </title>
</head>
<body>
<!-- appendChild:也是给父元素插入一个子元素,永远插入到最后
insertBefore:
可以插入一个新的子元素,并指定在哪个子元素的前面
参数1:要插入的新元素
参数2:要在哪个子元素前面
没有直接插入到某个子元素后面的方法,但是我们可以想办法实现 -->
<input type="button" value="创建新元素插入到li3的前面" id="btn1">
<input type="button" value="创建新元素插入到li3的后面" id="btn2">
<ul id="ul1">
<li>隔壁老王1</li>
<li>隔壁老王2</li>
<li id="li3">隔壁老王3</li>
<li>隔壁老王4</li>
<li>隔壁老王5</li>
</ul>
<script>
// 找到元素
var ul1 = document.getElementById('ul1');
var li3 = document.getElementById('li3');
// 添加点击事件 ;在 li3 前面添加一个新元素;
document.getElementById('btn1').onclick = function() {
// 创建新元素
var li = document.createElement('li');
// 创建文本
li.innerHTML = "新的li";
// insertBefore:可以插入一个新的子元素,并指定在哪个子元素的前面;
// 参数1:要插入的新元素 ;参数2:要在哪个子元素前面;
ul1.insertBefore(li,li3);
}
// 添加点击事件 ;在 li3 后面添加一个新元素;
document.getElementById('btn2').onclick = function() {
// 创建新元素
var li = document.createElement('li');
// 创建文本
li.innerHTML = "新的li";
//插入新元素,参数1:要插入的新元素 ;参数2:要在哪个子元素.的下一个兄弟元素
ul1.insertBefore(li,li3.nextElementSibling);
}
</script>
</body>
</html>
网友评论