DOM

什么是DOM?

    http://www.runoob.com/htmldom/htmldom-access.html
       通过 JavaScript,您可以重构整个HTML文档。您可以添加、移除、改变或重排页面上的项目。要改变页面的某个东西,JavaScript就需要对HTML文档中所有元素进行访问的入口。这个入口,连同对HTML 元素进行添加、移动、改变或移除的方法和属性,都是通过文档对象模型来获得的(DOM)。在 1998 年,W3C 发布了第一级的 DOM 规范。这个规范允许访问和操作 HTML 页面中的每一个单独的元素。所有的浏览器都执行了这个标准,因此,DOM 的兼容性问题也几乎难觅踪影了。DOM 可被 JavaScript 用来读取、改变 HTML、XHTML 以及 XML 文档。

1.获取元素

 <script>
        //根据id获取元素,因为id是唯一的,所以只返回一个dom对象
        var temp1 = document.getElementById('btnShow');
        //name是可以重复的,所以返回一个dom对象数组
        var temp2 = document.getElementsByName('btnShow');
        
        //访问属性
        temp1.value = '显示当前时间';

2.事件

 1    在元素上注册事件
 2         <input type="button" id="btnShow1" value="显示1" onclick="alert(this.value);"/>
 3         <br/>
 4         动态注册:
 5         <input type="button" id="btnShow2" value="显示2"/>
 6 
 7         <script>
 8             //推荐使用这种方式注册事件
 9             //好处:实现了代码分离(html与js);可以使用this
10             document.getElementById('btnShow2').onclick= function() {
11                 alert(this.value);
12             }
13         </script>

3.加载完成事件

1  <script>
2         //页面中的所有节点加载完成后,会触发此事件
3         onload = function () {
4             //当节点存在后,找到并注册点击事件
5             document.getElementById('span1').onclick = function() {
6                 alert('ok');
7             };
8         };
9     </script>

4.动态操作元素

 1  <script>
 2         onload = function() {
 3             //追加图片
 4             document.getElementById('btnImg').onclick = function() {
 5                 //创建img对象
 6                 var img = document.createElement('img');
 7                 //通过属性src指定要显示的图片
 8                 img.src = 'images/bird1.png';
 9                 //在div中追加图片对象
10                 document.getElementById('divContainer').appendChild(img);
11             };
12             //追加文本框
13             document.getElementById('btnText').onclick = function() {
14                 //创建input对象
15                 var input = document.createElement('input');
16                 //设置属性
17                 input.type = "text";
18                 //加入div中
19                 document.getElementById('divContainer').appendChild(input);
20             };
21             //追加超链接
22             document.getElementById('btnA').onclick = function() {
23                 //创建a对象
24                 var a = document.createElement('a');
25                 //设置属性
26                 a.href = '10Event.html';
27                 a.innerHTML = '点击显示';
28                 //加入div中
29                 document.getElementById('divContainer').appendChild(a);
30             };
31             
32             //删除所有元素
33             document.getElementById('btnRemove').onclick = function() {
34                 //获取所有子元素
35                 var childs = document.getElementById('divContainer').childNodes;
36                 //遍历子元素,逐个删除
37                 for (var i = childs.length-1; i >=0; i--) {
38                     document.getElementById('divContainer').removeChild(childs[i]);
39                 }
40             };
41         };
42     </script>
原文地址:https://www.cnblogs.com/liuweiqiang11188/p/6683343.html