获取元素节点
<!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>
div{
}
.box{
}
#pox{
}
</style>
</head>
<body>
<div class="box" id="pox">
hello
</div>
<div class="box">
world
</div>
<p>段落1</p>
<p>段落2</p>
<p>段落3</p>
<ul id="list">
<li>无序列表1</li>
<li>无序列表2</li>
<li>无序列表3</li>
</ul>
<ul>
<li>无序列表4</li>
<li>无序列表5</li>
<li>无序列表6</li>
</ul>
<form action="" method="">
<input type="radio" name="sex" value="男" />男
<input type="radio" name="sex" value="女" />女
</form>
<script>
var oPox = document.getElementById('pox');
console.log(oPox)
var oP = document.getElementsByTagName('p');
console.log(oP);
console.log(oP[1]);
var oDiv = document.getElementsByTagName('div')[0];
console.log(oDiv)
var oText = document.getElementsByClassName('box');
console.log(oText)
console.log(oText[1])
var list = document.getElementById('list');
var oLi = list.getElementsByTagName('li');
console.log(oLi)
var inputNode=document.getElementsByName('sex');
console.log(inputNode);
</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>百度以下</title>
</head>
<body>
<form action="">
<input type="text" name="">
<input type="button" value="普通按钮">
</form>
<img src="https://static.leiphone.com/uploads/new/homepagerecommend/pic/202201/61dd1f2bc96e5.png?imageMogr2/thumbnail/!388x391r/gravity/Center/crop/388x391/quality/90" alt="">
<img src="https://static.leiphone.com/uploads/new/latest/61dbce641b40e.jpg?imageMogr2/thumbnail/480x290!/quality/90" alt="">
<a href="">百度一下</a>
<a href="">你就知道</a>
<a>打酱油的</a>
<script>
var oHtml = document.getElementsByTagName('html');
console.log(oHtml[0])
console.log(document.documentElement)
console.log(document.body);
console.log(document.head);
console.log(document.title);
console.log(document.URL);
console.log(document.forms[0]);
console.log(document.images[1]);
console.log(document.links);
console.log(document.domain);
console.log(document.scripts);
</script>
</body>
</html>
改变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>
div{
}
.box{
}
#pox{
}
</style>
</head>
<body>
<div class="box" id="pox">
hello
</div>
<div class="box" id="pox1">
hello
</div>
<div id="main">
<div class="box">
<p>文本节点</p>
</div>
<div class="box">
<p>文本节点</p>
</div>
<div class="box">
<p>文本节点</p>
</div>
</div>
<script>
var oPox = document.getElementById('pox');
oPox.innerText = '改变后的盒子';
oPox.innerText = oPox.innerText+'改变后的盒子';
oPox.innerText += '改变后的盒子';
var oPox1 = document.getElementById('pox1');
oPox1.innerHTML = '<span>我是span内容1</span>';
oPox1.innerHTML += '<span>我是span内容2</span>';
oPox1.innerHTML += '<img src="../课件/media/fa2e7c4b1489716e056ac2aafc5e4c0f.png" alt="">';
var oP = document.getElementsByTagName('p');
for(var i=0;i<oP.length;i++){
oP[i].innerText = '改变过后的内容'
}
</script>
</body>
</html>
改变CSS内容
<!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>
#main{
width: 200px;
height: 200px;
background-color: #f00;
}
</style>
</head>
<body>
<div id="main">
文本节点
</div>
<script>
var oMain = document.getElementById('main');
console.log(oMain)
oMain.style.color = '#0f0';
oMain.style.fontSize = '32px';
oMain.style.backgroundColor = 'yellow';
oMain.style.borderBottom = '10px solid #00f';
</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>
#main{
width: 200px;
height: 200px;
background-color: #f00;
}
</style>
</head>
<body>
<div id="main" class="box" title="我是提示文本">文本节点</div>
<input type="password" id="input" placeholder="提示信息">
<div id="one"></div>
<a href="https://www.baidu.com" id="baidu">百度一下</a>
<script>
var main = document.getElementById('main');
var oInput = document.getElementById('input');
var one = document.getElementById('one');
var baidu = document.getElementById('baidu');
var myId = main.getAttribute('id');
var myClazz = main.getAttribute('class');
var myTitle = main.getAttribute('title');
console.log(myId,myClazz,myTitle)
main.setAttribute('lang','zh');
main.setAttribute('title','hello world');
main.setAttribute('class','box pox');
main.removeAttribute('title');
one.className = 'nav';
one.id = 'nav';
oInput.placeholder = '啊啊啊 啊啊啊啊啊';
baidu.href = 'https://www.taobao.com';
</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>
</style>
</head>
<body>
<div id="main">
<p id="box1">box1</p>
<p id="box2">box2</p>
<p id="box3">box3</p>
</div>
<script>
var oMain = document.getElementById('main');
var newElement = document.createElement('p');
newElement.setAttribute('id','box4');
newElement.innerText = 'box4';
console.log(newElement)
var txt=document.createTextNode('你好');
oMain.appendChild(newElement);
</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>
</style>
</head>
<body>
<div id="main">
<p id="box1">box1</p>
<p id="box2">box2</p>
<p id="box3">box3</p>
</div>
<script>
var oMain = document.getElementById('main');
var newElement = document.createElement('p');
newElement.setAttribute('id','box4');
newElement.innerText = 'box4';
console.log(newElement)
var targetElement = document.getElementById('box2');
oMain.insertBefore(newElement,targetElement);
</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>
</style>
</head>
<body>
<div id="main">
<p id="box1">box1</p>
<p id="box2">box2</p>
<p id="box3">box3</p>
</div>
<script>
var oMain = document.getElementById('main');
var newElement = document.createElement('p');
newElement.setAttribute('id','box4');
newElement.innerText = 'box4';
console.log(newElement)
var targetElement = document.getElementById('box2');
oMain.replaceChild(newElement,targetElement);
</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>
</style>
</head>
<body>
<div id="main">
<p id="box1">box1</p>
<p id="box2">box2</p>
<p id="box3">box3</p>
</div>
<script>
var oMain = document.getElementById('main');
var targetElement = document.getElementById('box2');
oMain.removeChild(targetElement)
</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>
</style>
</head>
<body>
<div id="main">
<p id="box1">box1</p>
<p id="box2">box2</p>
<p id="box3">box3</p>
</div>
<script>
var oMain = document.getElementById('main');
var copy1 = oMain.cloneNode(false);
var copy2 = oMain.cloneNode(true);
console.log(copy1)
console.log(copy2)
document.body.appendChild(copy1);
document.body.appendChild(copy2);
</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>
</style>
</head>
<body>
<div>
<div>
<p>box1</p>
<p>box2</p>
<p>box3</p>
</div>
<div id="box2">
<p>box4</p>
<p>box5</p>
<p>box6</p>
</div>
<div>
<p>box7</p>
<p>box8</p>
<p>box9</p>
</div>
</div>
<script>
var box2 = document.getElementById('box2');
console.log(box2.parentNode);
console.log(box2.previousSibling);
console.log(box2.previousElementSibling);
console.log(box2.nextSibling);
console.log(box2.nextElementSibling);
console.log(box2.firstChild);
console.log(box2.firstElementChild);
console.log(box2.lastChild);
console.log(box2.lastElementChild);
console.log(box2.children);
console.log(box2.childNodes);
console.log(box2.parentNode.parentNode);
console.log(box2.previousSibling.previousSibling);
console.log(box2.nextElementSibling.firstElementChild);
console.log(box2.nextElementSibling.children[1]);
</script>
</body>
</html>