DOM(文档对象模型)
前言
DOM是文档对象模型的缩写。通过DOM,JS能访问和改变HTML中的所有元素,DOM模型被结构化为对象树:
- 图片源自w3school
通过这个对象模型,我们可以在JS中对HTML元素和属性进行增加、修改和删除,对CSS样式进行修改,还可以增加HTML事件,并作出反应等。
获取DOM
获取DOM元素常用的方法如下:
document.getElementById("xx")
:通过id获取document.getElementsByClassName("xx")[number]
:通过类名获取- 通过类名获取时,获取到的是同一类名的数组,若要取到准确的某个元素,需要加角标
document.getElementsByTagName("xx")[number]
:通过标签名获取- 同上
document.getElementsByName("xx")[number]
:通过名字获取- 同上
- 通过名字获取仅可以在
img
和input
标签中使用
<body>
<img src="./image/cat2.jpg" alt="" name="cat" class="imgs" id="img1">
<script>
//var oImg = document.getElementById("img1");
//var oImg = document.getElementsByClassName("imgs")[0];
//var oImg = document.getElementsByTagName("img")[0];
var oImg = document.getElementsByName("cat")[0];
console.log(oImg);
//均输出 <img src="./image/cat2.jpg" alt name="cat" class="imgs" id="img1">
</script>
</body>
修改DOM
修改DOM内容
innerText
innerHtml
二者均能修改DOM内容,但不同的是,innerHtml能识别里面的HTML标签,但innerText仅能修改文字内容,无法识别HTML标签:
var oDiv1 = document.getElementById("div1");
oDiv1.innerText = "World";
//输出 World
oDiv1.innerHTML = "Hello";
//输出 Hello
oDiv1.innerText = "<h1>World</h1>";
//输出 <h1>World</h1>
oDiv1.innerHTML = "<h1>World</h1>";
//输出带h1标签样式的 World
修改DOM样式
style.样式属性
oDiv1.style.width = "300px";
oDiv1.style.height = "300px";
oDiv1.style.backgroundColor = "lightblue";
oDiv1.style.textAlign = "center";
oDiv1.style.lineHeight = "300px";
修改样式属性后:
以上为本萌新个人总结,如有不当之处望指正,有问题可以联系
邮箱:yuna_03@163.com或
QQ:2635591841
更于2021.2.15