document.createElement()是在对象中创建一个对象,要与appendChild() 或 insertBefore()方法联合使用。\x0d\x0a其中,appendChild() 方法在节点的子节点列表末添加新的子节点。insertBefore() 方法在节点的子节点列表任意位置插入新的节点。\x0d\x0a1、添加DIV \x0d\x0afunction addDiv(w,h){ \x0d\x0a//如果原来有“divCell”这个图层,先删除这个图层\x0d\x0adeleteDiv()\x0d\x0a//创建一个div \x0d\x0avar newdiv = document.createElement("divCell") \x0d\x0a//添加到页面 \x0d\x0adocument.body.appendChild(newdiv) \x0d\x0a//通过样式指定该div的位置方式,若是想要自己设置div的位置,这句话必须有,把它注释掉你就可以知道效果拉~试试看 \x0d\x0anewdiv.style.position="absolute" \x0d\x0a//通过样式指定x坐标(随机数0~450) \x0d\x0anewdiv.style.top= Math.round(Math.random()*450) \x0d\x0a//通过样式指定y坐标(随机数0~700) \x0d\x0anewdiv.style.left= Math.round(Math.random()*700) \x0d\x0a//通过样式指定宽度 \x0d\x0anewdiv.style.width=w \x0d\x0a//通过样式指定高度 \x0d\x0anewdiv.style.height=h \x0d\x0a//通过样式指定背景颜色,,若是背景图片 例为 newdiv.style.backgroundImage="url(img/3.jpg)" \x0d\x0anewdiv.style.backgroundColor="#ffffcc" \x0d\x0a//添加div的内容 \x0d\x0a//newdiv.innerHTML=i++\x0d\x0a//设置样式透明\x0d\x0anewdiv.style.filter = "alpha(opacity=50)"\x0d\x0a//设置ID\x0d\x0anewdiv.id = "divCell" \x0d\x0a }\x0d\x0a2、删除DIV \x0d\x0a function deleteDiv()\x0d\x0a {\x0d\x0avar my = document.getElementById("divCell")\x0d\x0aif (my != null)\x0d\x0amy.parentNode.removeChild(my)\x0d\x0a }
最好给需要删除的div元素定义一个ID,以方便对其进行操作;
注意JS中是没有remove()方法的,在jquery中就可以直接使用 $("#divID").remove()移除该元素;这样非常方便、简单。
js中的话要通过获取该元素的父级元素,再调用..removeChild(要删除的元素)
测试demo:
这边修改了代码,请保存为.html文件后测试。
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>删除自己的div</title>
<style>
.wrap {
width: 400px
height: 400px
background-color: aqua
}
.user-info {
width: 390px
height: 120px
border: 1px solid red
}
</style>
</head>
<body>
<div class="wrap">
<div class="del">
<div class="user-info">我是1</div>
<div class="user-info">我是2</div>
<div class="user-info">我是3</div>
</div>
</div>
<script>
var del = document.getElementsByClassName("del")[0]
var user = document.getElementsByClassName("user-info")
for (let i = 0i <user.lengthi++) {
user[i].onclick = function () {
this.parentNode.removeChild(this)
}
}
</script>
</body>
</html>