JavaScript基础之DOM(三)

查找 HTML 元素

  • var x=document.getElementById(“main”);
  • var y=x.getElementsByTagName(“p”);
  • var x=document.getElementsByClassName(“intro”);

HTML DOM
document.getElementById(id).innerHTML=新的 HTML
document.getElementById(id).attribute=新属性值

CSS DOM
document.getElementById(id).style.property=新样式

HTML DOM 事件
onclick、onload 和onunload 、onchange、onmouseover 和 onmouseout、onmousedown、onmouseup 以及 onclick

HTML DOM EventListener事件监听

  • element.addEventListener(event, function, useCapture);
    第一个参数是事件的类型 (如 “click” 或 “mousedown”).
    第二个参数是事件触发后调用的函数。
    第三个参数是个布尔值用于描述事件是冒泡还是捕获。该参数是可选的。
    element.addEventListener(“click”, function(){ alert(“Hello World!”); });
  • 向同一个元素中添加多个事件句柄
    addEventListener() 方法***允许向同一个元素添加多个事件,且不会覆盖已存在的事件***:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<p>该实例使用 addEventListener() 方法向同个按钮中添加两个点击事件。</p>
<button id="myBtn">点我</button>
<script>
var x = document.getElementById("myBtn");
x.addEventListener("click", myFunction);
x.addEventListener("click", someOtherFunction);
function myFunction() {
    alert ("Hello World!")
}

事件冒泡或事件捕获
冒泡:先变内层
捕获:先边外层
默认值为 false, 即冒泡传递,当值为 true 时, 事件使用捕获传递。
document.getElementById(“myDiv”).addEventListener(“click”, myFunction, true);
function someOtherFunction() {
alert (“函数已执行!”)
}

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

跨浏览器解决方法:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<p> Internet Explorer 8 及更早IE版本不支持 addEventListener() 方法。</p>
<p>该实例演示了所有浏览器兼容的解决方法。</p>
<button id="myBtn">点我</button>
<script>
var x = document.getElementById("myBtn");
if (x.addEventListener) {
    x.addEventListener("click", myFunction);
} else if (x.attachEvent) {
    x.attachEvent("onclick", myFunction);
}
function myFunction() {
    alert("Hello World!");
}
</script>
</body>
</html>

HTML DOM 元素 (节点)
创建新的 HTML 元素 (节点) - appendChild()
document.getElementById(“div1”).appendChild(document.createElement(“p”));
*** insertBefore()***
removeChild()
var parent = document.getElementById(“div1”);
var child = document.getElementById(“p1”);
parent.removeChild(child);
***替换 HTML 元素 - replaceChild() ***

原文地址:https://www.cnblogs.com/smileyqp/p/12675403.html