HTML DOM 方法
- HTML DOM 方法是您能够(在 HTML 元素上)执行的动作。
- HTML DOM 属性是您能够设置或改变的 HTML 元素的值。
HTML DOM 能够通过 JavaScript 进行访问(也可以通过其他编程语言)。
在 DOM 中,所有 HTML 元素都被定义为对象。
编程界面是每个对象的属性和方法。
属性是您能够获取或设置的值(就比如改变 HTML 元素的内容)。
方法是您能够完成的动作(比如添加或删除 HTML 元素)。
<html> <body> //改变p元素内容 <p id="demo"></p> <script> document.getElementById("demo").innerHTML = "Hello World!"; </script> </body> </html>
getElementById
是方法
- 访问 HTML 元素最常用的方法是使用元素的 id
innerHTML
是属性。
- 用于获取或替换 HTML 元素的内容
HTML DOM Document 对象
查找 HTML 元素
方法 | 描述 |
document.getElementById(id) | 通过元素 id 来查找元素 |
document.getElementsByTagName(name) | 通过标签名来查找元素 |
document.getElementsByClassName(name) | 通过类名来查找元素 |
改变 HTML 元素
方法 | 描述 |
element.innerHTML = new html content | 改变元素的 inner HTML |
element.attribute = new value | 改变 HTML 元素的属性值 |
element.setAttribute(attribute, value) | 改变 HTML 元素的属性值 |
element.style.property = new style | 改变 HTML 元素的样式 |
添加和删除元素
方法 | 描述 |
document.createElement(element) | 创建 HTML 元素 |
document.removeChild(element) | 删除 HTML 元素 |
document.appendChild(element) | 添加 HTML 元素 |
document.replaceChild(element) | 替换 HTML 元素 |
document.write(text) | 写入 HTML 输出流 |
添加事件处理程序
方法 | 描述 |
document.getElementById(id).onclick = function(){code} | 向 onclick 事件添加事件处理程序 |
查找 HTML 对象
属性 | 描述 | DOM |
document.anchors | 返回拥有 name 属性的所有 <a> 元素 |
1 |
document.applets | 返回所有 <applet> 元素(HTML5 不建议使用) |
1 |
document.baseURI | 返回文档的绝对基准 URI | 3 |
document.body | 返回 <body> 元素 |
1 |
document.cookie | 返回文档的 cookie | 1 |
document.doctype | 返回文档的 doctype | 3 |
document.documentElement | 返回 <html> 元素 |
3 |
document.documentMode | 返回浏览器使用的模式 | 3 |
document.documentURI | 返回文档的 URI | 3 |
document.domain | 返回文档服务器的域名 | 1 |
document.domConfig | 废弃。返回 DOM 配置 | 3 |
document.embeds | 返回所有 <embed> 元素 |
3 |
document.forms | 返回所有 <form> 元素 |
1 |
document.head | 返回 <head> 元素 |
3 |
document.images | 返回所有 <img> 元素 |
1 |
document.implementation | 返回 DOM 实现 | 3 |
document.inputEncoding | 返回文档的编码(字符集) | 3 |
document.lastModified | 返回文档更新的日期和时间 | 3 |
document.links | 返回拥有 href 属性的所有 <area> 和 <a> 元素 |
1 |
document.readyState | 返回文档的(加载)状态 | 3 |
document.referrer | 返回引用的 URI(链接文档) | 1 |
document.scripts | 返回所有 <script> 元素 |
3 |
document.strictErrorChecking | 返回是否强制执行错误检查 | 3 |
document.title | 返回 <title> 元素 |
1 |
document.URL | 返回文档的完整 URL | 1 |
JavaScript HTML DOM 动画
JavaScript 动画是通过对元素样式进行渐进式变化编程完成的
案例
<!DOCTYPE html> <html> <style> #container { width: 400px; height: 400px; position: relative; background: yellow; } #animate { width: 50px; height: 50px; position: absolute; background-color: red; } </style> <body> <p><button onclick="myMove()">单击我</button></p> <div id ="container"> <div id ="animate"></div> </div> <script> function myMove() { var elem = document.getElementById("animate"); var pos = 0; var id = setInterval(frame, 5); function frame() { if (pos == 350) { clearInterval(id); } else { pos++; //线性匀速沿对角线移动,先运动水平方向与垂直方向(力的分解) elem.style.top = pos + "px"; //水平方向 elem.style.left = pos + "px"; //垂直方向 } } } </script> </body> </html>
JavaScript HTML DOM 事件
向 button
元素分配 onclick 事件
onload 和 onunload 事件
当用户进入后及离开页面时,会触发 onload 和 onunload 事件。
onload 和 onunload 事件可用于处理 cookie。
onchange 事件
onchange 事件经常与输入字段验证结合使用
<!DOCTYPE html> <html> <head> <script> //当用户改变输入字段内容时,会调用 upperCase() 函数 function myFunction() { var x = document.getElementById("fname"); x.value = x.value.toUpperCase(); } </script> </head> <body> 请输入您的名字:<input type="text" id="fname" onchange="myFunction()"> <p>离开输入字段时,会触发一个函数,将输入文本转换为大写。</p> </body> </html>
onmouseover 和 onmouseout 事件
onmouseover 和 onmouseout 事件可用于当用户将鼠标移至 HTML 元素上或移出时触发某个函数
onmousedown, onmouseup 以及 onclick 事件构成了完整的鼠标点击事件
- 当鼠标按钮被点击时,onmousedown 事件被触发;
- 当鼠标按钮被释放时,onmouseup 事件被触发;
- 当鼠标点击完成后,onclick 事件被触发。
<!DOCTYPE html> <html> <body> <div onmousedown="mDown(this)" onmouseup="mUp(this)" style="background-color:#D94A38;width:90px;height:20px;padding:40px;"> 点击鼠标</div> <script> function mDown(obj) { obj.style.backgroundColor = "#1ec5e5"; obj.innerHTML = "松开鼠标"; } function mUp(obj) { obj.style.backgroundColor="#D94A38"; obj.innerHTML="谢谢您"; } </script> </body> </html>
JavaScript HTML DOM 事件监听器
- addEventListener() 方法为指定元素指定事件处理程序。
- addEventListener() 方法为元素附加事件处理程序而不会覆盖已有的事件处理程序。
- 您能够通过使用 removeEventListener() 方法轻松地删除事件监听器。
语法
element.addEventListener(event, function, useCapture); //第一个参数是事件的类型(比如 "click" 或 "mousedown")。 //第二个参数是当事件发生时我们需要调用的函数。 //第三个参数是布尔值,指定使用事件冒泡还是事件捕获。此参数是可选的。 element.removeEventListener("mousemove", myFunction); //删除已通过 addEventListener() 方法附加的事件处理程序
案例:
<!DOCTYPE html> <html> <head> <style> #myDIV { background-color: coral; border: 1px solid; padding: 50px; color: white; font-size: 20px; } </style> </head> <body> <h1>JavaScript removeEventListener()</h1> <div id="myDIV"> <p>这个 div 元素有一个 onmousemove 事件处理程序,每次在这个橙色字段中移动鼠标时都会显示一个随机数。</p> <p>单击按钮以删除 div 的事件处理程序。</p> <button onclick="removeHandler()" id="myBtn">删除</button> </div> <p id="demo"></p> <script> document.getElementById("myDIV").addEventListener("mousemove", myFunction); function myFunction() { document.getElementById("demo").innerHTML = Math.random(); } function removeHandler() { document.getElementById("myDIV").removeEventListener("mousemove", myFunction); } </script> </body> </html>
饮水思源,点击去W3school