JS DOM HTML
声明
该文部分代码和内容节选自菜鸟教程,仅用作个人学习,特此声明
DOM HTML
1、查找 HTML 元素
通常,需要通过 JavaScript操作 HTML 元素。首先需要找到该元素。有三种方法查找HTML元素:
通过 id 找到 HTML 元素(ById)
本例查找 id="intro" 元素:
var x = document.getElementById("id");
如果找到该元素,则该方法将以对象(在 x 中)的形式返回该元素。
如果未找到该元素,则 x 将包含 null。
通过标签名找到 HTML 元素(ByTagName)
本例查找 id="main" 的元素,然后查找 id="main" 元素中的所有 < p > 元素:
var x = document.getElementById("main"); var y = x.getElementsByTagName("p");
通过类名找到 HTML 元素(ByClassName)
本例通过 getElementsByClassName 函数来查找 class="intro" 的元素:
<p class="intro">hello world</p> var x=document.getElementsByClassName("intro");
了解更多关于 HTML DOM getElementsByClassName() 方法的内容,参考以下文章
HTML DOM getElementsByClassName() 方法 | 菜鸟教程 (runoob.com)
补充知识
getElementsByTagName 和 getElementsByClassName 这两个方法查找多个 dom 元素,返回的是 htmlcollection 类型,是伪数组而不是真数组,故不能使用数组的方法。
我们可以使用数组原型配合 slice 方法,利用 call,apply,bind 方法将伪数组转为真数组。
var x=document.getElementById("main");
var y=x.getElementsByTagName("p");
console.log(y)//在控制台我们可以看到原型proto为htmlcollection,是伪数组
//伪数组转为真数组方法1
console.log(Array.prototype.slice.call(y))//在控制台我们可以看到原型proto为Array(0),是真数组
//伪数组转为真数组方法2
console.log(Array.prototype.slice.apply(y))//在控制台我们可以看到原型proto为Array(0),是真数组
//伪数组转为真数组方法3
console.log(Array.prototype.slice.bind(y)())//在控制台我们可以看到原型proto为Array(0),是真数组
2、改变 HTML 元素
HTML DOM 允许 JavaScript 改变 HTML 元素的内容。其中,改变HTML输出流使用document.write,改变HTML内容用document.getElementById("id").innerHTML;之前已经用过一万遍了,这里不多赘述
下面首先来介绍一下如何改变HTML属性
如果需要改变 HTML 属性,使用的语法如下:
document.getElementById("id").attribute = "新属性值"
我们举个简单的例子,改变 img 标签的 src 属性(改变图片路径达到替换图片的目的)
<img id="image" src="xxxxxx">
<script>
document.getElementById("image").src = "yyyyyy";
</script>
在上面的这个例子中,我们做了这些事情
- 首先通过 img 标签的 id 获得这个元素
- 更改此元素的 src 属性为 yyyyyy
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具