zoukankan      html  css  js  c++  java
  • 获取元素节点 & 操作属性节点

    1.html 文档编写 js 代码的位置:

        window.onload事件在整个html文档被完全加载完再执行,
        所以可以获取html文档的任何节点

    js-window-onload.html

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Insert title here</title>
    <script type="text/javascript">
        //window.onload事件在整个html文档被完全加载完再执行
        //所以可以获取html文档的任何节点
        window.onload = function() {
    
        };
    </script>
    </head>
    <body>
        <button>Click</button>
    </body>
    </html>

    2.获取元素节点方式

             ①. document.getElementById:

                          根据 id 属性获取对应的单个节点

            ②. document.getElementsByTagName:
                         根据标签名获取指定节点名字的数组, 数组对象 length 属性可以获取数组的长度

            ③. document.getElementsByName:
                         根据节点的 name 属性获取符合条件的节点数组,
                         但 ie 的实现方式和 W3C 标准有差别:
                         在 html 文档中若某节点(li)没有 name 属性, 
                         则 ie 使用 getElementsByName 不能获取到节点数组, 但火狐可以.

    dom-getNode.html

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Untitled Document</title>
    
    <script type="text/javascript">
        //获取指定的元素节点. 
        window.onload = function() {
            //1.获取id为bj的节点,编写文档时确保 id属性值是唯一的,该方法为document对象的方法
            var bjNode = document.getElementById("bj");
            alert(bjNode);
    
            //2.获取所有li节点,使用 标签名 获取节点的集合,该方法为Node接口的方法, 任何一个节点都有这个方法
            var liNodes = document.getElementsByTagName("li");
            alert(liNodes.length);
    
            var cityNode = document.getElementById("city");
            var cityLiNode = cityNode.getElementsByTagName("li");
            alert(cityLiNode.length);
    
            // 3.根据html文档元素的name属性名来获取指定的节点的集合
            var genderNodes = document.getElementsByName("gender");
            alert(genderNodes.length)
    
            //若html元素自身没有定义name属性,则getElementsByName(),此方法对于IE无效,所以使用该谨慎
            var bjNode2 = document.getElementsByName("BeiJing");
            alert(bjNode2.length)
        }
    </script>
    
    </head>
    <body>
        <p>你喜欢哪个城市?</p>
        <ul id="city">
            <li id="bj" name="BeiJing">北京</li>
            <li>上海</li>
            <li>东京</li>
            <li>首尔</li>
        </ul>
    
        <br>
        <br>
        <p>你喜欢哪款单机游戏?</p>
        <ul id="game">
            <li id="rl">红警</li>
            <li>实况</li>
            <li>极品飞车</li>
            <li>魔兽</li>
        </ul>
    
        <br>
        <br> gender:
        <input type="radio" name="gender" value="male" />Male
        <input type="radio" name="gender" value="female" />Female
    </body>
    </html>

    3. 获取属性节点:
              ①可以直接通过 cityNode.id 这样的方式来获取和设置属性节点的值

              ②通过元素节点的 getAttributeNode 方法来获取属性节点,
                  然后在通过 nodeValue 来读写属性值

    dom-getNode2.html

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Untitled Document</title>
    
    <script type="text/javascript">
        //读写属性节点
        window.onload = function() {
            // 属性节点即为某一指定元素节点的属性
            //1.先获取指定那个元素的节点
            var nameNode = document.getElementById("name");
    
            //2.读取指定属性的值
            alert(nameNode.value);
    
            //3.设置指定属性的值
            nameNode.value = "李静"
    
        }
    </script>
    
    </head>
    <body>
        <p>你喜欢哪个城市?</p>
        <ul id="city">
            <li id="bj" name="BeiJing">北京</li>
            <li>上海</li>
            <li>东京</li>
            <li>首尔</li>
        </ul>
    
        <br>
        <br>
        <p>你喜欢哪款单机游戏?</p>
        <ul id="game">
            <li id="rl">红警</li>
            <li>实况</li>
            <li>极品飞车</li>
            <li>魔兽</li>
        </ul>
    
        <br>
        <br> name:
        <input type="text" name="username" id="name" value="xiaoxiaolin">
    </body>
    </html>
    All that work will definitely pay off
  • 相关阅读:
    面试题总结
    软件测试面试心得
    git上传本地文件到gitee上
    一个测试员失业的自述
    整理了Linux常用命令变量
    java B2B2C多用户商城系统-搜索分词架构分享
    B2B2C商城系统-Table组件封装代码分享
    Javashop 电商系统sso登录实现
    b2b2c商城系统-会员预存款架构及源码分享
    java 商城系统源码分享-snowflake发号器
  • 原文地址:https://www.cnblogs.com/afangfang/p/12686925.html
Copyright © 2011-2022 走看看