• DOM编程 学习笔记(二)


    学习内容:

    1.document对象

    2.event对象

    该对象将标记型文档进行封装
    该对象的作用,是对可标记型文档进行操作
    常见操作,想要实现动态效果,需要对节点操作,那么先获取到这个节点,想获取节点,就必须先获取节点所属的文档对象document
    获取节点的方法体现:
    getElementById();提高标签的id属性值获取该标签节点,返回该标签节点
    getElementsByName();通过标签的name属性获取节点,返回的是一个数组/容器

    getElementsTagName();通过标签名获取节点,因为标签名会有重复,所以返回一个数组

    在操作文档时为了获取某一个特定的元素,getelementById方法是最好的选择...

    <html>
    <head>
    <script type="text/javascript">
    function getValue()
      {
      var x=document.getElementById("myHeader")
      alert(x.innerHTML)//修改h1所显示的标题...
      }
    </script>
    </head>
    <body>
    
    <h1 id="myHeader" onclick="getValue()">This is a header</h1>
    <p>Click on the header to alert its value</p>
    
    </body>
    </html>

    当我们在执行多次的getelementById方法时,我们可以定义一个方法,使其返回getelementById方法,这样可以避免

    在每次调用的时候,都书写其方法,解决了代码冗余...

    function id(x) {
      if (typeof x == "string") return document.getElementById(x);
      return x;
      }

    getElementByName()与getelementById方法相似,但是他查询的是name,而不是id属性...

    <html>
    <head>
    <script type="text/javascript">
    function getElements()
      {
      var x=document.getElementsByName("myInput");
      alert(x.length);
      }
    </script>
    </head>
    
    <body>
    <input name="myInput" type="text" size="20" /><br />
    <input name="myInput" type="text" size="20" /><br />
    <input name="myInput" type="text" size="20" /><br />
    <br />
    <input type="button" onclick="getElements()" value="名为 'myInput' 的元素有多少个?" />
    </body>
    
    </html>

    getElementsByTagName() 返回一个指定标签的集合...

    <html>
    <head>
    <script type="text/javascript">
    function getElements()
      {
      var x=document.getElementsByTagName("input");
      alert(x.length);
      }
    </script>
    </head>
    <body>
    
    <input name="myInput" type="text" size="20" /><br />
    <input name="myInput" type="text" size="20" /><br />
    <input name="myInput" type="text" size="20" /><br />
    <br />
    <input type="button" onclick="getElements()"
    value="How many input elements?" />
    
    </body>
    </html>

    可以用 getElementsByTagName() 方法获取任何类型的 HTML 元素的列表。例如,下面的代码可获取文档中所有的表:

    var tables = document.getElementsByTagName("table");
    alert ("This document contains " + tables.length + " tables");

    也可以使用 getElementsByTagName() 方法获取文档中的一个特定的元素。

    <script type="text/javascript">
    
            function getNodeByTagNameDemo2(){
                    var divNode = document.getElementById("newlink");
                    var nodes = divNode.getElementsByTagName("a");//nodes成为了一个数组,存放着多个a属性...
                    for(var i = 0;i<nodes.length;i++){
                        nodes[i].target="_blank";
                    }
            }
        </script>
        <input type="button" value="document对象获取节点" onclick="getNodeByTagNameDemo2()"/>
    
        <a href="http://www.baidu.com">百度1</a>
        <a href="http://www.baidu.com">百度2</a>
    
        <div id="newlink">
            <a href="http://www.163.com">1631</a>
            <a href="http://www.163.com">1632</a>
            <a href="http://www.163.com">1633</a>
        </div>

    2.event对象..

    事件绑定:

    第一种方式

    <html>
    <head>
    <script type="text/javascript">
            function text(){
                  window.alert("hello");
            } 
    </script>
    </head>
    <body>
            <input type="button" value="直接绑定方式" onclick="test()"/>
    </body>
    </html>    

    第二种方式:

    通过getelementById方法获取元素后再监听绑定

    <html>
    <head>
    
    <script language=”javascript”
    Function test()
    {
    Document.write("hello");
    }
    </script>
    </head>
    <body>
            <input type=”button” id=”ID名称” value=”刷新界面”/>
    <script>
              Document.getElementById(“ID名称”).onClick=test;//只能绑定在这,绑定在前面会报错。。。
    </script>
    </body>
    </html>              
  • 相关阅读:
    C. Tesla (模拟 + 思维)
    E
    E. Ehab's REAL Number Theory Problem (bfs + 思维)
    uva 12307
    P4249 [WC2007]剪刀石头布
    luoguP4003 无限之环
    luoguP4068 [SDOI2016]数字配对
    有源汇有上下界最小流
    有源汇有上下界最大流
    无源汇有上下界可行流
  • 原文地址:https://www.cnblogs.com/RGogoing/p/4452829.html
Copyright © 2020-2023  润新知