document对象方法

三个方法优先顺序:优先使用getElementBuId,然后getElementByName,最后getElementByTagName.
因为越往后查询范围越大,可能需要过滤。

*以上三个方法,一定要在页面查询完成之后执行。才能查询到标签对象。
代码从上往下执行。如下:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script type="text/javascript">

        //语句 读到就马上执行 此时后面的标签还未执行
        alert(document.getElementById("btn01"));//查询不到对象

        //页面加载完成,就会执行此方法
        window.onload = function (){
            alert(document.getElementById("btn01"));//查询到对象
        }

        function selectAll(){
            var inputs = document.getElementsByTagName("input");
            //因为点击按钮的时候,浏览器已经读完了代码。所以可以查询到对象
            alert(document.getElementById("btn01"));//查询到对象
            for (i = 0 ; i < inputs.length ; i++){
                inputs[i].checked = true;
            }
        }

    </script>
</head>
<body>
        //读到此标签 , 才创建对象
        <input type="checkbox" >1<br>
        <input type="checkbox" >2<br>
        <button id="btn01" onclick="selectAll">
        全选
        </button>

</body>
</html>
createElement:需要使用JavaScript创建HTML标签,并显示在页面上。
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script type="text/javascript">
        //需要使用JavaScript创建HTML标签,并显示在页面上。

        //页面加载完成再执行
        window.onload = function (){
           var divObj = document.createElement("div");
           divObj.innerHTML = "赋值";//在内存中
            //在<body></body>中添加子元素
           document.body.appendChild(divObj);//页面显示
        }

    </script>
</head>
<body>

</body>
</html>

1.getElementById  通过标签的id属性获取标签对象的集合
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script type="text/javascript">
        function clickFun(){
            //当我们要对一个标签进行操作时,先要获取这个标签对象。  通过id获取标签对象
            var elementById = document.getElementById("username");
            //获取当前内容
            var usernameText = elementById.value;
            //验证 5-12位 字母,数字,下划线  正则表达式
            var patt = /^\w{5,12}$/;

            var elementById1 = document.getElementById("usernameCheck");
            //innerHTML 表示起始标签和结束标签之间的内容  这个属性可读可写
            elementById1.innerHTML = "用户名合法";
            elementById1.innerHTML = "用户名不合法";
            //test方法用于测试某个字符窜是否匹配规则
            //匹配true 不匹配false
            if(patt.test(usernameText)){
                //alert("true");
                elementById1.innerHTML = "用户名合法 <img src='right.png' width='18' height='18'>";
            }else{
                //alert("false");
                elementById1.innerHTML = "用户名不合法<img src='wrong.png' width='18' height='18'>";
            }
        }

    </script>
</head>
<body>
        用户名<input type="text" id="username" value="a123">
        <span id="usernameCheck" style="color: red"></span>
        <button onclick="clickFun()">校验</button>

</body>
</html>

2.getElementsByName 通过标签的name属性获取标签对象的集合

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script>
        function selectAll(){
            //获取标签对象集合
            var hobbies = document.getElementsByName("hobby");
            //checked表示复选框状态   可读可改
           for (i = 0;i < hobbies.length; i++){
               hobbies[i].checked = true;
           }

        }
        function selectNone(){
            var hobbies = document.getElementsByName("hobby");
            //checked表示复选框状态   可读可改
            for (i = 0;i < hobbies.length; i++){
                hobbies[i].checked = false;
            }

        }
        function selectReverse(){
            var hobbies = document.getElementsByName("hobby");
            //checked表示复选框状态   可读可改
            for (i = 0;i < hobbies.length; i++){
                hobbies[i].checked = !hobbies[i].checked;
                // if(hobbies[i].checked){
                //     hobbies[i].checked = false;
                // }else{
                //     hobbies[i].checked = true;
                // }
            }
        }
    </script>
</head>
<body>
    <input type="checkbox" name="hobby" value="cpp" checked="checked">c++
    <input type="checkbox" name="hobby" value="java" checked="checked">java
    <input type="checkbox" name="hobby" value="JavaScript" checked="checked">JavaScript
    </br>
    <button onclick="selectAll()">全选</button>
    <button onclick="selectNone()">全不选</button>
    <button onclick="selectReverse()">反选</button>

</body>
</html>

3.getElementsByTagName 通过标签类型获取标签对象的集合

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script>
        function selectAll(){
           var inputs = document.getElementsByTagName("input");
           for (i = 0 ; i < inputs.length ; i++){
               inputs[i].checked = true;
           }
        }
    </script>
</head>
<body>
        <input type="checkbox" name="hobby" value="cpp" checked="checked">c++
        <input type="checkbox" name="hobby" value="java" checked="checked">java
        <input type="checkbox" name="hobby" value="JavaScript" checked="checked">JavaScript
        </br>
        <button onclick="selectAll()">全选</button>


</body>
</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值