欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 房产 > 家装 > 【dom操作基础】案例题1

【dom操作基础】案例题1

2025/2/25 7:24:48 来源:https://blog.csdn.net/weixin_61972561/article/details/142371704  浏览:    关键词:【dom操作基础】案例题1

一、选择元素

使用getElementById、getElementsByClassName、querySeletor选择元素

<body><div id="fatherId" class="falther">father内容<div class="child">1</div><div class="child2">2</div><div class="child">3</div><div class="child">4</div></div>
</body>
 // 1、ID获取:document.getElementById获取具有指定id属性的元素(ID唯一)var element_id = document.getElementById("fatherId")console.log(element_id);// 2、className获取:document.getElementsByTagName获取指定标签的所有元素的节点列表var element_div = document.getElementsByTagName("div")console.log(element_div);// 3、标签名获取:document.getElementsByClassName获取指定类名的所有元素列表var element_class = document.getElementsByClassName("child")console.log(element_class);

二、修改元素

1、写一个修改页面中p标签的内容为“Hello,World!”的函数。
2、写一个在页面中div标签添加类名为".active"的函数。
3、写一个在页面中h1标签移除类名为".title"的函数。

<body><p>pppppp</p><div>-----</div><p>pppppp</p><div>-----</div><p>pppppp</p><div>-----</div><p>pppppp</p><div>-----</div><h1 class="title">标题</h1><h1 class="title">标题</h1><h1 class="title">标题</h1><button onclick="changP()">修改p元素内容</button><button onclick="addClassName()">添加类名到div元素</button><button onclick="removeClassName()">移除类名到div元素</button>
</body>
<script>// 1、写一个修改页面中<p>元素的内容为“Hello,World!”的函数。function changP() {let domPAll = document.getElementsByTagName('p')for (let dom of domPAll) {dom.innerHTML = "Hello,World"}}// 2、写一个在页面中<div>元素添加类名为".active"的函数。function addClassName(){let domDivAll = document.getElementsByTagName('div')for (const element of domDivAll) {element.classList.add('active')}}// 2、写一个在页面中<h1>元素移除类名为".title"的函数。function removeClassName(){let domH1 = document.getElementsByTagName('h1')for (const element of domH1) {element.classList.remove('title')}}
</script>

三、事件处理

1、点击按钮,弹框提示
2、 鼠标移入方块显示红色,鼠标移出方块显示绿色
3、事件冒泡
4、事件捕获

1、点击按钮,弹框提示

<style>.box{width: 200px;height: 200px;background-color: yellow;text-align: center;line-height: 200px;}</style>

2、 鼠标移入方块显示红色,鼠标移出方块显示绿色

<body><button onclick="clickFunc()">点击</button><div class="box" onmouseover="changeRed()" onmouseout="changeGreen()">方块</div>
</body>
<script>// 1、点击按钮,弹框提示function clickFunc(){alert("Hello World")}//2、 鼠标移入方块显示红色,鼠标移出方块显示绿色function changeRed(){document.querySelector(".box").style.backgroundColor = "red"}function changeGreen(){document.querySelector(".box").style.backgroundColor = "green"}
</script>

3、事件冒泡

<body><div class="father"><div class="child">1</div><div class="child">1</div><div class="child">1</div></div>
</body>
<script>document.querySelector(".father").onclick = function () {console.log("父级被点击");}let children = document.querySelectorAll(".child")for (const element of children) {element.onclick = function () {console.log("子元素被点击");}}/* 事件冒泡:当在一个元素上触发某个事件后,这个事件会逐级向上传递到该元素的父元素,直至传递到文档的根元素(document)。如上案例中我点击子元素child触发father事件*/
</script>

4、事件捕获

<body><div class="father"><div class="child">1</div><div class="child">1</div><div class="child">1</div></div>
</body>
<script>document.querySelector(".father").onclick = function () {console.log("父级被点击");}let children = document.querySelectorAll(".child")for (const element of children) {element.onclick = function () {console.log("子元素被点击");}}/* 事件冒泡:当在一个元素上触发某个事件后,这个事件会逐级向上传递到该元素的父元素,直至传递到文档的根元素(document)。如上案例中我点击子元素child触发father事件*/
</script>

四、创建、删除元素

1、在ul元素里新增li元素
2、删除页面第一个p元素

<body><ul><li>1</li></ul><button onclick="addLi()">新增li元素</button><p>11</p><p>11</p><p>11</p><p>11</p><p>11</p><button onclick="deleteP()">删除第一个p元素</button>
</body>
<script>function addLi() {// 创建li元素let li = document.createElement('li')li.innerText = "2"// ul元素新增li元素document.querySelector('ul').appendChild(li)}function deleteP(){let pAll = document.querySelectorAll('p')document.body.removeChild(pAll[0])}</script>

五、样式操作

1、设置一个把页面所有h1元素文字变成红色的函数
2、设置一个把img元素都隐藏的函数

    <h1>标题1</h1><h1>标题1</h1><h1>标题1</h1><h1>标题1</h1><h1>标题1</h1><button οnclick="changeColor()">改变全部h1颜色</button><img src="https://so2.360tres.com/dmfd/400_300_/t0110e5ad0726405f0e.jpg" alt=""><img src="https://so2.360tres.com/dmfd/400_300_/t0110e5ad0726405f0e.jpg" alt=""><img src="https://so2.360tres.com/dmfd/400_300_/t0110e5ad0726405f0e.jpg" alt=""><button οnclick="hideImg()">隐藏所有图片</button>
</body>
<script>function changeColor() {let h1All = document.querySelectorAll("h1")for (const element of h1All) {element.style.color = 'red'}}function hideImg(){let imgAll = document.querySelectorAll("img")for (const element of imgAll) {element.style.display ='none'}}
</script>

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词