节点
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<div>
<!-- 注释 -->
<p>一段文字</p>
<p>一段文字</p>
</div>
<script>
var div = document.querySelector('div')
// 元素都有一个children属性:获取当前元素的子元素
// console.log(div.children) // 2个p标签
// childNodes获取的是子节点:注释,文本,标签全部都叫节点
console.log(div.childNodes)
// 我们可以获取某个节点以后通过nodeName属性来判断节点类型
console.log(div.childNodes[0].nodeName) // #text 换行的文本节点
console.log(div.childNodes[1].nodeName) // #comment 注释节点
console.log(div.childNodes[3].nodeName) // P 大写的标签名
// 如果我们确切的知道这个是一个标签节点,还可以使用tagName直接获取标签名
console.log(div.tagName) // DIV(大写)
</script>
</body>
</html>
元素操作
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
.box {
width: 200px;
height: 200px;
background: red;
}
</style>
</head>
<body>
<script>
// 创建一个div元素,用box变量来接收
var box = document.createElement('div')
console.log(document.body) // body元素是唯一的,可以直接document.body来获取
// appendChild方法来往body的结束去追加box作为body的最后一个子元素
document.body.appendChild(box)
// 如果反复append同一个box,那么最终也会只有一个
// document.body.appendChild(box)
box.innerHTML = 'box4'
// 通过js style属性设置的样式统一都在行内
// box.style.height = '200px' // 200px是字符串,需要加引号
// box.style.width = '200px'
// box.style.background = 'red'
// 我们可以在css里先把样式预设好,这里只需要修改对应class就行了
box.classList.add('box')
// 先克隆(复制),在append
var box1 = box.cloneNode()
// 克隆分为深克隆和浅克隆,浅克隆只克隆元素本身,不会克隆子元素和内容,默认是浅克隆
// cloneNode方法有一个参数,默认值是false,代表浅克隆,true代表深克隆,就会连着内容一起克隆
var box1 = box.cloneNode(true)
document.body.appendChild(box1)
// 注意点:如果元素有id属性,最好不要直接克隆,否则会出现两个id相同的元素
</script>
</body>
</html>
插入元素
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<ul>
<li>首页</li>
<li>列表</li>
<li id="about">关于</li>
</ul>
<script>
var ul = document.querySelector('ul')
var li = document.createElement('li')
var about = document.querySelector('#about')
li.innerHTML = '练习'
// ul.appendChild(li) // 在ul的最后面加上一个li
ul.insertBefore(li,about) // 把li放在ul里面,about前面
</script>
</body>
</html>
替换元素
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<ul>
<li>首页</li>
<li>列表</li>
<li id="about">关于</li>
</ul>
<script>
var ul = document.querySelector('ul')
var about = document.querySelector('#about')
var li = document.createElement('li')
li.innerHTML = '联系我们'
// 在ul里面把about替换成li (节点替换)
ul.replaceChild(li,about)
</script>
</body>
</html>
删除元素
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<ul>
<li>首页</li>
<li>列表</li>
<li id="about">关于</li>
</ul>
<script>
var ul = document.querySelector('ul')
var about = document.querySelector('#about')
// 父元素.removeChild删除子元素 (不加引号)
// ul.removeChild(about)
// 补充:parentNode找到自己的父级
// about.parentNode.removeChild(about)
// 可以自己删除,但是IE8-不能使用
about.remove()
</script>
</body>
</html>
节点,元素操作,插入元素,替换元素,删除元素
猜你喜欢
转载自blog.csdn.net/dfc_dfc/article/details/105550050
今日推荐
周排行