JavaScript对DOM总结

当网页被加载时,浏览器会创建页面的文档对象模型(Document Object Model)。

HTML DOM 模型被构造为对象的树:

通过可编程的对象模型,JavaScript 获得了足够的能力来创建动态的 HTML。

JavaScript 能够改变页面中的所有 HTML 元素
JavaScript 能够改变页面中的所有 HTML 属性
JavaScript 能够改变页面中的所有 CSS 样式
JavaScript 能够对页面中的所有事件做出反应

1.查找 HTML 元素

通过 id 查找 HTML 元素

var x=document.getElementById("intro");

通过标签名查找 HTML 元素

var x=getElementsByTagName("p");

通过类名找到 HTML 元素

var x=document.getElementsByClassName("intro");

2.改变HTML元素

在 JavaScript 中,document.write() 可用于直接向 HTML 输出流写内容,下面例子输出时间。

<!DOCTYPE html>
<html>
<body>
<script>
document.write(Date());
</script>
</body>
</html>

改变 HTML 内容
语法:document.getElementById(id).innerHTML=新的 HTML

<html>
<body>
<p id="p1">这个是要被修改的内容!</p>
<script>
document.getElementById("p1").innerHTML="这个是被修改后的内容!";
</script>
</body>
</html>

改变 HTML 属性
语法:document.getElementById(id).attribute=新属性值

<!DOCTYPE html>
<html>
<body>
<img id="image" src="smiley.gif">
<script>
document.getElementById("image").src="landscape.jpg";
</script>
</body>
</html>

改变 HTML 样式
语法:document.getElementById(id).style.property=新样式

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>阿西河前端教程(axihe.com)</title>
</head>
<body>
<p id="p1">Hello World!</p>
<p id="p2">Hello World!</p>
<script>
document.getElementById("p2").style.color="blue";
document.getElementById("p2").style.fontFamily="Arial";
document.getElementById("p2").style.fontSize="larger";
</script>
<p>以上段落通过脚本修改。</p>
</body>
</html>

3.操作HTML元素即操作DOM(更多事件类型去MDN或者网上查找资料,这里不做过多总结)

如需向 HTML 元素分配 事件,您可以使用事件属性。

<button onclick="displayDate()">点这里</button>
<script>
function displayDate () {
	console.log("我被点击了")
}
</script>

使用 HTML DOM 来分配事件

<button id=“myBtn”>点这里</button>
<script>
document.getElementById("myBtn").onclick=function(){ displayDate () };
function displayDate () {
	console.log("我被点击了")
}
</script>

使用addEventListener() 方法
语法:element.addEventListener(event, function, useCapture);
参数一:事件类型
参数二:执行的函数
参数三:可选布尔值,捕捉还是冒泡

addEventListener() 方法用于向指定元素添加事件句柄。
addEventListener() 方法添加的事件句柄不会覆盖已存在的事件句柄。你可以向一个元素添加多个事件句柄。
你可以使用 removeEventListener() 方法来移除事件的监听。

element可以是任何元素包括window

element.addEventListener("click", myFunction);
function myFunction() {
    alert ("Hello World!");
}

removeEventListener() 方法
removeEventListener() 方法移除由 addEventListener() 方法添加的事件句柄:
语法:element.removeEventListener("mousemove", myFunction);

4.文档中添加和移除元素

使用了 appendChild() 方法,它用于添加新元素到尾部。这个尾部是添加到目标元素的内部
如果我们需要将新元素添加到开始位置,可以使用 insertBefore() 方法,使用方法同appendChild()

<div id="div1">
<p id="p1">这是一个段落。</p>
<p id="p2">这是另外一个段落。</p>
</div>
<script>
1.创建 p 元素
var para = document.createElement("p");
2.为 p 元素创建一个新的文本节点
var node = document.createTextNode("这是一个新的段落。");
3.将文本节点添加到 p 元素中
para.appendChild(node);
4.查找已存在的元素
var element = document.getElementById("div1");
5.在id=“div1”元素中添加 p 元素
element.appendChild(para);
</script>

移除已存在的元素
要移除一个元素,你需要知道该元素的父元素

<div id="div1">
<p id="p1">这是一个段落。</p>
<p id="p2">这是另外一个段落。</p>
</div>
<script>
1.获取该元素父元素
var parent = document.getElementById("div1");
2.获取要移除的元素
var child = document.getElementById("p1");
3.移除元素
parent.removeChild(child);
</script>

替换 HTML 元素

<div id="div1">
<p id="p1">这是一个段落。</p>
<p id="p2">这是另外一个段落。</p>
</div>
<script>
1.创建一个元素
var para = document.createElement("p");
2.创建一个文本节点
var node = document.createTextNode("这是一个新的段落。");
3.把文本添加到p元素中
para.appendChild(node);
4.获取父元素
var parent = document.getElementById("div1");
5.获取要替换的元素
var child = document.getElementById("p1");
6。替换父元素的子元素
parent.replaceChild(para, child);
</script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值