目录
前言
目标
对象.innerText 属性
对象.innerHTML属性
案例
年会抽奖
需求
方法一
方法二
总结
前言
曾经沧海难为水,除却巫山不是云。
目标
能够修改元素的文本更换内容
DOM对象都是根据标签生成的,所以操作标签,本质上就是操作DOM对象,就是操作对象使用的点语法。如果想要修改标签元素的里面的内容,则可以使用如下几种方式学习路径:
对象.innerText 属性
元素innerText 属性将文本内容添加/更新到任意标签位置显示纯文本,不解析标签
<!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><style>.box { width: 100px; height: 100px;}</style><body><div class="box"> 这是文字的内容</div><script> const box = document.querySelector('.box'); console.log(box.innerText); box.innerText = '<strong>这是修改后的内容</strong>';//不解析标签</script></body></html>
对象.innerHTML属性
元素.innerHTML属性将文本丙容添加/更新到任意标签位置
会解析标签,多标签建议使用模板字符
<!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><style>.box { width: 100px; height: 100px;}</style><body><div class="box"> 这是文字的内容</div><script> const box = document.querySelector('.box'); console.log(box.innerText); box.innerHTML = '<strong>这是修改后的内容</strong>';</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></head><style>.box { width: 100px; height: 100px;}</style><body><div class="honor"> <strong>年会抽奖</strong> <h1>一等奖 <span id="one">???</span></h1> <h1>二等奖 <span id="two">???</span></h1> <h1>三等奖 <span id="three">???</span></h1> <button id="btn">开始</button></div><script> const arr = ['周杰伦', '刘德华', '郭富城', '周润发', '周星驰', '张学友']; document.getElementById('btn').addEventListener('click', function () { if (arr.length === 0) { alert('所有奖项已抽完!'); return; } const randomOne = Math.floor(Math.random() * arr.length); document.getElementById('one').innerHTML = arr[randomOne]; arr.splice(randomOne, 1); if (arr.length > 0) { const randomTwo = Math.floor(Math.random() * arr.length); document.getElementById('two').innerHTML = arr[randomTwo]; arr.splice(randomTwo, 1); } if (arr.length > 0) { const randomThree = Math.floor(Math.random() * arr.length); document.getElementById('three').innerHTML = arr[randomThree]; arr.splice(randomThree, 1); } console.log(arr); });</script></body>
方法二
-
数组 prizeIds:定义了一个包含奖项
id
的数组prizeIds
,这样可以通过循环来访问每个奖项对应的span
元素。 -
for 循环:使用
for
循环来遍历prizeIds
数组,并且在每次循环中检查arr
是否还有剩余元素。 -
随机选择和更新:在循环内部,随机选择一个数组元素并将其设置为对应奖项的
span
元素的文本内容,然后从数组中移除该元素。
<!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><style>.box { width: 100px; height: 100px;}</style><body><div class="honor"> <strong>年会抽奖</strong> <h1>一等奖 <span id="one">???</span></h1> <h1>二等奖 <span id="two">???</span></h1> <h1>三等奖 <span id="three">???</span></h1> <button id="btn">开始</button></div><script> const arr = ['周杰伦', '刘德华', '郭富城', '周润发', '周星驰', '张学友']; const prizeIds = ['one', 'two', 'three']; document.getElementById('btn').addEventListener('click', function () { if (arr.length === 0) { alert('所有奖项已抽完!'); return; } for (let i = 0; i < prizeIds.length && arr.length > 0; i++) { const randomIndex = Math.floor(Math.random() * arr.length); document.getElementById(prizeIds[i]).innerHTML = arr[randomIndex]; arr.splice(randomIndex, 1); } console.log(arr); });</script></body>
总结
如果喜欢的人要嫁人了,就跟她表白,就算为此要把婚车的车轴打爆也没关系,这是你说出来的最后机会。把这个秘密带进棺材没价值,连陪葬都算不上