批改状态:合格
老师批语:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>id,class,标签和css选择器获取元素的方法</title>
</head>
<body>
<div id="item1">
<ul class="class1">
<li>列表项01</li>
<li>列表项02</li>
<li>列表项03</li>
<li class="pink">列表项04</li>
<li>列表项05</li>
</ul>
</div>
<div id="item2">
<ul class="class2">
<li>列表项01</li>
<li class="pink">列表项02</li>
<li>列表项03</li>
<li class="pink">列表项04</li>
<li>列表项05</li>
</ul>
</div>
<div id="item3">
<ul class="class3">
<li class="pink">列表项01</li>
<li>列表项02</li>
<li class="three">列表项03</li>
<li>列表项04</li>
<li class="five linwu">列表项05</li>
</ul>
</div>
<script>
//1.通过id来选择元素
let item1 = document.getElementById('item1');
// 设置选中元素背景
item1.style.backgroundColor = 'red';
//通过函数来获取所有id
function getItem() { //参数是id字符串
let getitems = {}; //保存获取到的DOM对象元素
for(let i=0;i < arguments.length;i++) {//arguments 参数
let id = arguments[i];
let item = document.getElementById(id);//根据id字符串查找
if(item === null){
throw new Error ("没有这个元素"+id);//抛出异常
}
getitems[id] = item; //将获取到的元素保存到结果集中
}
return getitems;
}
//根据id获取页面指定元素,返回一个关联数组对象,键名就是id
let items = getItem('item1','item2','item3');
console.log(items);
for(let key in items){
items[key].style.backgroundColor='green';
}
// 2.根据class来获取元素
let class1 = document.getElementsByClassName('class1')[0];
console.log(class1);
class1.style.backgroundColor='red';
document.getElementsByClassName('class3').item(0)
.getElementsByClassName('three')[0]
.style.backgroundColor = 'cyan';
let five = document.getElementsByClassName('five linwu')[0];
console.log(five);
five.style.backgroundColor = 'pink';
//根据标签来选择
let ul = document.getElementsByTagName('ul')[1];
ul.style.backgroundColor = 'blue';
let ul1 = document.getElementsByTagName('li').item(3);
ul1.style.backgroundColor = 'wheat';
//通过标签获取所有li元素
let li_lists = document.getElementsByTagName('li');
// console.log(document.getElementsByTagName('li').length);
console.log(li_lists);
for(let t=0;t<li_lists.length;t++){
li_lists[t].style.backgroundColor = 'lightgreen';
}
//item()该方法也可用在元素对象中
let ul3 = document.getElementsByTagName('ul').item((0));
let item3 = ul3.getElementsByTagName('li').item(2);
item3.style.backgroundColor = 'skyblue';
// 4.根据css选择器获取元素
let lists1 = document.querySelectorAll('li');//根据标签选择器: li 获取
console.log(lists1);
lists1[0].style.backgroundColor = 'coral';
lists1.item(1).style.backgroundColor = 'lightcoral';
let ul5 = document.querySelector('ul'); //返回满足条件第一个
// console.log(ul5);
let ul6 = document.querySelectorAll('ul').item(2);
ul6.style.backgroundColor = 'black';
let li6 = ul6.querySelectorAll('li')[4];
li6.style.backgroundColor = 'red';
// 根据class .来选择
let li7 = document.querySelectorAll('.pink');
console.log(li7);
for(let e=0;e<li7.length;e++){
li7[e].style.backgroundColor='pink';
}
</script>
</body>
</html>点击 "运行实例" 按钮查看在线实例
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>DOM实战:模拟智能在线***系统 </title>
<style>
div:nth-child(1){
width:600px;
min-height:550px;
background: #efefef;
margin: 30px auto;
color: #444;
box-shadow: 5px 5px 5px #e0e0e0;
}
h2{
text-align: center;
margin-bottom: -10px;
color:#888 ;
font-size:16px;
padding-top: 20px;
}
div:nth-child(2){
width: 500px;
height: 300px;
border: 1px solid #ccc;
margin: 20px auto 10px;
background: #fefefe;
border-radius: 5px;
overflow: hidden;
}
ul{
list-style: none;
line-height: 2em;
overflow: hidden;
padding: 15px;
}
div:nth-child(3){
margin: 20px auto;
width: 500px;
text-align: center;
}
div:nth-child(3) button{
width: 100px;
height:35px;
float: right;
}
button:hover{
background:orange;
}
textarea{
width: 500px;
resize: none;
border-radius: 5px;
}
img{
border-radius: 50%;
}
</style>
</head>
<body>
<div>
<h2>在线***</h2>
<div>
<ul>
<li></li>
</ul>
</div>
<div>
<p><textarea name="text" cols="50" rows="5"></textarea> </p>
<p><button type="button">发送</button></p>
</div>
</div>
<script>
//获取元素
let btn = document.getElementsByTagName('button')[0];
let text = document.getElementsByName('text')[0];
let list = document.getElementsByTagName('ul')[0];
let num = 0; //计数器
//点击事件,获取用户输入的内容并发送到窗口
btn.onclick = function() {
//获取用户提交的内容
if(text.value.length ===0) {
alert('请输入内容');
return false;
}
let userComment = text.value; //获取用户输入内容并保存
text.value = '';
//创建li
let li = document.createElement('li');
li.style = 'line-height: 40px;\n' +
' height: 40px;\n' +
' border-radius: 20px;\n' +
' width: 90%;\n' +
' margin-left: 50px;';
//用户头像
let userPic = '<img style="float: left; margin-left:-20px;" src="img/n.jpg" width="30" style="border-radius: 50%">';
li.innerHTML = userPic+ ' '+'<span style="margin-left:30px;">'+userComment+'</span>';
list.appendChild(li); //将用户信息添加到聊天窗口中
num +=1;
//设置定时器, 自动回复
setTimeout(function () {
//自动回复信息
let info = [
'有什么事',
'找我干嘛',
'说明问题',
'要买什么',
'天天开心'
];
let tmp = info[Math.floor(Math.random()*4)];
let replay = document.createElement('li');
replay.style = 'color: red;\n' +
' line-height: 40px;\n' +
' height: 40px;\n' +
' border-radius: 20px;\n' +
' width: 90%;\n' +
' margin-left: 50px;';
let kfpic = '<img style="float: left;margin-left:-20px" src="img/g.jpg" width="30" style="border-radius: 50%" src="img/g.jpg" width="30" style="border-radius: 50%">';
replay.innerHTML = kfpic + ' '+'<span style="color: red;padding-left:20px;">'+tmp+'</span>';
list.appendChild(replay);
num+=1;
},2000);
//清屏
if(num > 10){
list.innerHTML = '';
num = 0;
}
}
//回车Enter 键绑定按钮
document.onkeydown = function (event) {
let e = event || window.event;
if (e && e.keyCode == 13) { //回车键的键值为13
btn.click(); //调用登录按钮的登录事件
}
};
</script>
</body>
</html>点击 "运行实例" 按钮查看在线实例
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号