zoukankan      html  css  js  c++  java
  • js_dom02


    0、
    1、.获取元素结点
    2、操作属性结点
    3、处理文本结点
    0、
    <form id="f2" >
    <span id="spanid">1000</span>
    </form>

    结果:form的子节点:NodeList(3) [text, span#spanid, text]
    text: data: "↵ "
    span#spanid: 子节点:text ;text: data:1000
    text: data: "↵"


    1、.获取元素结点

    <!DOCTYPE html>
    <html>
    <head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <script>
    /*
    1.获取元素结点
    1)直接获取
    ① document.getElementById()
    ② document.getElementsByName()
    ③ document.getElementsByTagName()
    2)间接获取
    父子关系
    firstChild lastChild childNodes
    子父关系
    parentNode
    兄弟关系
    nextSibling previousSibling

    function getEle01(){
    var d=document.getElementById("userid");
    console.log(d)
    }
    function getEle02(){
    var d=document.getElementsByName("gender");
    console.log(d)
    }
    function getEle03(){
    var d =document.getElementsByTagName("input");
    console.log(d)
    }
    function getEle04(){
    var d =document.getElementById("smform")
    console.log(d.childNodes)
    }
    function getEle05(){
    var d=document.getElementById("smform")
    console.log(d.firstChild)
    }
    function getEle06(){
    var d =document.getElementById("smform")
    console.log(d.lastChild)
    }
    function getEle07(){
    var d=document.getElementById("userid")
    console.log(d.parentNode)
    }
    function getEle08() {
    var d = document.getElementById("userid")
    console.log(d.nextSibling)
    console.log(d.previousSibling)
    }
    </script>
    </head>
    <body>
    <!--页面显示中:如果html文件有多个空格,则显示一个空格,如果文件有换行符(就是按了enter键)
    页面不换行。(换行用<br />),而文本节点的内容会包括换行和多个空格等特殊字符。
    -->
    <button type="button" onclick="getEle01();">点击测试01</button>
    <button type="button" onclick="getEle02();">点击测试02</button>
    <button type="button" onclick="getEle03();">点击测试03</button>
    <button type="button" onclick="getEle04();">点击测试04</button>
    <button type="button" onclick="getEle05();">点击测试05</button>
    <button type="button" onclick="getEle06();">点击测试06</button>
    <button type="button" onclick="getEle07();">点击测试07</button>
    <button type="button" onclick="getEle08();">点击测试08</button>

    <form id ="smform">
    用户名:<input id="userid" type="text" name="username" abcd="aaa"><br/>
    密码:<input type="password" name="password"><br/>
    昵称:<input id="nickid" type="text" name="nickname" value="大名鼎鼎" abcd="1234" ><br/>
    性别:男<input type="radio" name="gender" value="nan">&nbsp;&nbsp;
    女<input type="radio" name="gender" value="nv"><br/>
    爱好:狗<input type="checkbox" name="fav" value="dog">
    猫<input type="checkbox" name="fav" value="cat">
    羊驼<input type="checkbox" name="fav" value="yt"><br/>
    <input type="submit" value="注册">
    </form>
    </body>
    </html>

    2、操作属性结点
    <!DOCTYPE html>
    <html>
    <head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <script>
    /*
    2.操作属性结点
    1)通过对象“.”属性,来操作属性
    优:可以动态获取用户修改的属性值
    缺:不能获取自定义属性的值
    2)getAttribute("key") setAttribute("key","value") removeAttribute("key")
    优:可以获取自定义属性的值
    缺:不能动态获取用户修改的属性值

    */

    function operField01(){
    var d =document.getElementById("userid")
    d.type="password"
    console.log(d.value)//可以动态获取属性值
    console.log(d.abcd)//undefined 不能获取自定义的属性值
    }
    function operField02(){
    var d =document.getElementById("userid")
    console.log(d.getAttribute("type"))//获取属性值
    d.setAttribute("type","password")
    d.removeAttribute("name")
    console.log(d)
    console.log(d.getAttribute("abcd"))//可以得到自定义的属性值
    //d.setAttribute("value","aaa")
    console.log(d.getAttribute("value"))//不能动态获取属性值。如果使用setAttribute("key","value")设置了属性值
    // 则得到的是value值,如果是通过d.key="value"或用户动态输入的话只会得到null
    }

    </script>
    </head>
    <body>

    <button type="button" onclick="operField01();">点击操作属性01</button>
    <button type="button" onclick="operField02();">点击操作属性02</button>

    <form id ="smform">
    用户名:<input id="userid" type="text" name="username" abcd="aaa"><br/>
    密码:<input type="password" name="password"><br/>
    昵称:<input id="nickid" type="text" name="nickname" value="大名鼎鼎" abcd="1234" ><br/>
    性别:男<input type="radio" name="gender" value="nan">&nbsp;&nbsp;
    女<input type="radio" name="gender" value="nv"><br/>
    爱好:狗<input type="checkbox" name="fav" value="dog">
    猫<input type="checkbox" name="fav" value="cat">
    羊驼<input type="checkbox" name="fav" value="yt"><br/>
    <input type="submit" value="注册">
    </form>
    </body>
    </html>


    3、处理文本结点
    <!DOCTYPE html>
    <html>
    <head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <script>
    /*
    3.处理文本结点
    1) 通过对象.innerText 获取标签内部的文本信息
    2) 通过对象.innerHTML 获取标签内部的HTML代码
    */
    function operateText01(){
    var d=document.getElementById("mydiv")
    d.innerText="hehehehe"
    console.log(d.innerText)//hehehehe
    }
    function operateHTML01(){
    var d=document.getElementById("mydiv")
    console.log(d.innerHTML) //<b>hahahaha</b>
    }
    function operateText02(){
    var d=document.getElementById("mydiv")
    d.innerText="<img src='1.jpg'>"
    }
    function operateHTML02(){
    var d=document.getElementById("mydiv")
    d.innerHTML="<img src='1.jpg'>"
    }


    </script>
    </head>
    <body>
    <button type="button" onclick="operateText01();">点击操作文本01</button>
    <button type="button" onclick="operateHTML01();">点击操作HTML01</button>
    <button type="button" onclick="operateText02();">点击操作文本02</button>
    <button type="button" onclick="operateHTML02();">点击操作HTML02</button>
    <form id ="smform">
    用户名:<input id="userid" type="text" name="username" abcd="aaa"><br/>
    密码:<input type="password" name="password"><br/>
    昵称:<input id="nickid" type="text" name="nickname" value="大名鼎鼎" abcd="1234" ><br/>
    性别:男<input type="radio" name="gender" value="nan">&nbsp;&nbsp;
    女<input type="radio" name="gender" value="nv"><br/>
    爱好:狗<input type="checkbox" name="fav" value="dog">
    猫<input type="checkbox" name="fav" value="cat">
    羊驼<input type="checkbox" name="fav" value="yt"><br/>
    <input type="submit" value="注册">
    </form>
    <div id="mydiv"><b>hahahaha</b></div>
    </body>
    </html>

  • 相关阅读:
    iOS 发送位置消息
    集成 jpush-react-native 常见问题汇总 (iOS 篇)
    RESTful API 最佳实践
    RESTful API 设计指南
    理解RESTful架构
    PHP 调用 shell
    Laravel Model updating&updated 事件使用注意事项
    sudo 命令报 unable to resolve host 导致反应速度变慢
    Nginx设置禁止通过IP访问服务器并且只能通过指定域名访问
    Homestead can not mount nfs on macos catalina
  • 原文地址:https://www.cnblogs.com/dxwen/p/10821458.html
Copyright © 2011-2022 走看看