zoukankan      html  css  js  c++  java
  • 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>
  • 相关阅读:
    代码手动修改约束(AutoLayout)
    iOS开发中手机号码和价格金额有效性判断及特殊字符的限制
    Mac下如何显示隐藏文件/文件夹
    Exp8 Web综合 20181308
    20181308 邵壮 Exp7 网络欺诈防范
    20181308 邵壮 Exp6 MSF应用基础
    重现Vim任意代码执行漏洞(CVE-2019-12735) 20181308
    密码引擎-加密API研究 20181308邵壮
    密码引擎-加密API实现与测试 20181308邵壮
    Exp5 信息搜集与漏洞扫描 20181308邵壮
  • 原文地址:https://www.cnblogs.com/liuweiqiang11188/p/6683343.html
Copyright © 2011-2022 走看看