批改状态:未批改
老师批语:
一、利用getElementsByID来获取id
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>id选择器</title>
</head>
<body>
<ul>
<li id="item1">我是第一个标签1</li>
<li>我是第一个标签2</li>
<li>我是第一个标签3</li>
<li id="item2">我是第一个标签4</li>
<li>我是第一个标签5</li>
<li>我是第一个标签6</li>
</ul>
<script>
//利用id来选择标签
let item1 = document.getElementById('item1');
let item2 = document.getElementById('item2');
//利用获取来的id来设置颜色
item1.style.backgroundColor = 'red';
item2.style.backgroundColor = 'yellow';
//通过其它方法来获取
//通过使用函数来简化id来获取多个元素
function getElements() {//参数是多个id字符
let elements = {};//创建一个空的map映射对象用来保存结果
for (let i = 0;i<arguments.length; i++) {
let id = arguments[i];
let elt = document.getElementById(id);
if (elt === null) {
throw new Error("NO element with id :" + id);
}
elements[id] = elt;
}
return elements;
}
let elements = getElements('item1','item2');
for (let key in elements) {
elements[key].style.backgroundColor = 'coral';
}
</script>
</body>
</html>点击 "运行实例" 按钮查看在线实例
二、利用getElementsByName来通过name来获取
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>利用getElementsName来获取name</title>
</head>
<body>
<form about="form1" name="forms">
<table>
<tr>
<td><input type="text" name="item1" placeholder="请输入参数1"></td>
<td><input type="text" name="item2" placeholder="请输入参数2"></td>
<td><input type="text" name="item3" placeholder="请输入参数3"></td>
</tr>
<tr>
<td>
<button type="button">提交</button>
</td>
</tr>
</table>
</form>
<script>
//利用name来获取
let item1 = document.getElementsByName('item1')[0];
item1.style.backgroundColor = 'red';
//有些元素是一个对象,也可以通过对象的name来获取
let froms = document.forms;
froms.style.backgroundColor = '#636363';
</script>
</body>
</html>点击 "运行实例" 按钮查看在线实例
三、通过getElementsByTagName来获取元素
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>利用getElementsByTagName来获取元素</title>
</head>
<body>
<ul>
<li>我的列表项01</li>
<li>我的列表项02</li>
<li>我的列表项03</li>
<li>我的列表项04</li>
<li>我的列表项05</li>
</ul>
<script>
//根据标签来获取,获取的元素是一个集合
let ul = document.getElementsByTagName('ul')[0];
ul.style.backgroundColor = 'red';
//还有一个就是利用itme来获取
let ul1 = document.getElementsByTagName('ul').item(0);
ul1.style.backgroundColor = 'yellow';
//获取所有li元素
let lists = document.getElementsByTagName('li');
//由于返回的是一个标签集合,所以要利用循环语句来把颜色填充上去
lists[1].style.backgroundColor = '#636363';
for (let i=0; i<lists.length; i++) {
lists[i].style.backgroundColor = '#636363';
}
</script>
</body>
</html>点击 "运行实例" 按钮查看在线实例
四、利用getElementsByClassName来获取class标签
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>利用getElementsByClassName来获取class标签</title>
</head>
<body>
<ul class="ul">
<li class="item1">我的标签项目01</li>
<li>我的标签项目02</li>
<li>我的标签项目03</li>
<li class="item2">我的标签项目04</li>
<li>我的标签项目05</li>
</ul>
<script>
let item1 = document.getElementsByClassName('item1')[0];
item1.style.backgroundColor = 'red';
//也可以通过在父元素上面访问
document.getElementsByClassName('ul')[0].getElementsByClassName('item2')[0].style.backgroundColor = 'yellow';
</script>
</body>
</html>点击 "运行实例" 按钮查看在线实例
五\通过快捷的方法来获取元素
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>快捷选择标签</title> </head> <body> <img src="1.jpg" name="pic" title=""> <form about="" name="register"> <input type="text" name="item1" placeholder="操作数1"> <input type="text" name="item2" placeholder="操作数2"> <button name="button">提交</button> </form> <p><a href="php.cn">php中文网</a></p> <script> //根据name的标签名和name属性来选择仅有几个可以用,图片,图像,数组 document.images[0].style.width = '200px';//通过img的索引来获取 document.images['pic'].style.width = '300px';//通过name来获取 document.images.pic.style.width = '400px';//通过name看作元素对象属性来获取 document.images.item(0).style.width = '600px';//通过item来选择元素 // 还有a标签用links和表单from也可以通过上面的方式来获取 </script> </body> </html>
点击 "运行实例" 按钮查看在线实例
六\利用class来获取元素
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>利用css选择器来获取</title>
</head>
<body>
<ul id="ul">
<li>我的项目列表01</li>
<li>我的项目列表02</li>
<li class="green">我的项目列表03</li>
<li class="green">我的项目列表04</li>
<li>我的项目列表05</li>
</ul>
<script>
let lists = document.querySelectorAll('li');
lists[1].style.backgroundColor = 'red';
lists.item(0).style.backgroundColor = 'yellow';
//该方法还可以在元素上面调用
let lists1 = document.querySelector('#ul');
let li = lists1.querySelectorAll('.green');
for (let i=0; i<li.length; i++) {
li[i].style.backgroundColor = 'red';
}
</script>
</body>
</html>点击 "运行实例" 按钮查看在线实例
七、文档节点遍历
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>文档树的遍历</title> </head> <body> <ul> <li>文档节点名称01</li> <li>文档节点名称02</li> <li>文档节点名称03</li> <li>文档节点名称04</li> <li>文档节点名称05</li> </ul> <script> //文档所有都有一个节点,分别是以下几种 <!--nodeType,节点类型--> <!--nodeName,节点名--> <!--nodeValue,节点值--> //文档结点document是最顶层的 console.log(document.nodeType); console.log(document.nodeName); console.log(document.nodeValue); //获取父节点下面的所有子节点childNodes可以一层一层往下面找,可以结合上面的nodeName,nodeType,nodeValue来判断多少个节点,然后利用childNodes来找到想要的元素。 console.log(document.childNodes); let ul = (document.childNodes[1].childNodes[2].childNodes[1]); ul.style.backgroundColor = 'red'; //下面利用找到的ul标签来获取下面的li指定的元素,计算字元素数量children.item let ul1 = document.childNodes[1].childNodes[2].childNodes[1]; let li = ul.children; li[1].nextElementSibling.style.backgroundColor = 'yellow';//nextElementSibling来获取标签为1的下一个li兄弟元素 li[1].previousElementSibling.style.backgroundColor = 'yellow';//previousElementSibling来获取标签为1上一个兄弟元素 //获取当前元素的父元素 li[1].parentElement.style.backgroundColor = '#636363'; li[1].parentNode.style.backgroundColor = '#999999'; </script> </body> </html>
点击 "运行实例" 按钮查看在线实例
八、js对html元素的属性进行操作
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>js对html元素的属性进行操作</title>
</head>
<body>
<img src="1.jpg" title="" alt="" width="300px" />
<h3 id="header" class="hello" style="color:red" title="当幸福来敲门" index="php.cn">
《当幸福来敲门》别走,幸福终究会到来</h3>
<script>
//对html元素中标签的操作
let img = document.getElementsByTagName('img')[0];
img.src = '2.jpg';
img.width = 100;
//由于class标签与js中的class标签有冲突,所以这里要使用className来
let h3 = document.getElementById('header');
console.log(h3.style[0]);
//如果元素中存在非标签元素,就是用户自定义的元素标签,可以利用setAttribute(),getAttribute()进行读取
if (h3.hasAttribute('index')) {//利用hasAttribute来判断是否存在这个自定义标签
console.log(h3.getAttribute('index'));//查看当前标签内容
h3.setAttribute('index','php中文网');//更改其中的内容
h3.removeAttribute('index');//移除标签
}
</script>
</body>
</html>点击 "运行实例" 按钮查看在线实例
九、对html中的文本进行操作
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>对html中的文本进行操作</title>
</head>
<body>
<h3>《当幸福来敲门》别走,幸福终究会到来</h3>
<h3><strong style="color: red">《当幸福来敲门》</strong>别走,幸福终究会到来</h3>
<script>
//通过innerHTML可以拿到里面所有的文本,并且可以拿到所有的style样式代码
let h31 = document.getElementsByTagName('h3')[0];
console.log(h31.innerHTML);
let h32 = document.getElementsByTagName('h3')[1];
console.log(h32.innerHTML);
//还可以通过textContent只可以拿到文字,纯文本
let h33 = document.getElementsByTagName('h3')[0];
console.log(h33.textContent);
let h34 = document.getElementsByTagName('h3')[1];
console.log(h34.textContent);
</script>
</body>
</html>点击 "运行实例" 按钮查看在线实例
十、html中的节点插入,删除 ,替换
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>DOM节点的删除与插入</title>
</head>
<body>
<script>
//创建元素
let ul = document.createElement('ul');
//向元素中添加内容
ul.innerHTML = '<li>我是插入的元素1</li>';
//将元素添加到页面中
document.body.appendChild(ul);
//再创建一个li元素
let li = document.createElement('li');
li.innerHTML = '我是插入的元素2';
ul.appendChild(li);
//创建一个li元素,插入到任何的位置
let li1 = document.createElement('li');
li1.innerHTML = '我要插入到头部去';
ul.insertBefore(li1,li);
//删除一个元素
ul.removeChild(li1);
//替换结点
let li2 = document.createElement('li');
li2.innerHTML = '我是要替换的结点';
ul.replaceChild(li2,li);
</script>
</body>
</html>点击 "运行实例" 按钮查看在线实例
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号