初始DOM操作

1.DOM节点

  1. HTML文档中的每个成分都是一个节点
  2. 整个文档是一个文档节点
  3. 每个 HTML标签是一个元素节点
  4. 包含在 HTML元素中的文本是文本节点
  5. 每一个HTML属性是一个属性节点·注释属于注释节点

2.获取元素

<body>
    <div class="item">
        <!--这是一个注释-->
        这是一个div
        <span>这是一个span标签</span>
    </div>
    <input type="text" name="sex" id="uname">男
    <input type="text" name="sex" id="uname">女
    <a href="#" class="item">超链接</a>
    <div>这是第二个div</div>
    <script>
        //获取DOM中的节点,使用的是document对象//获取整个html文档
         console. log( document.documentElement)
        // 获取头部head 
        console.log ( document. head)/ //获取主体body
         console.log(document.body)
        //获取
         var body = document.body //获取到了body标签
         var div = body.firstElementChild //获取到body中的第一个元素console.log(div)
         var div_0 = body.firstChild
         console.log(div)
         var lastEle = body.lastElementChild
         console.log(lastEle)
         console.log(div.nextElementSibling) //获取下一位相邻兄弟
         var input = div.nextElementSibling
         console.log(input.previousElementSibling) //获取前一位相邻兄弟

        //获取

        //通过函数来获取元素
        //getElementById():通过标签的id属性的值获取到某个标签
        console.log(document.getElementById("uname"))
            //getElementsByclassName():根据标签的class属性的值来获取一组标签
        console.log(document.getElementsByClassName("item"))
            //getElementsByName():根据标签的name属性的值来获取一组标签
        console.log(document.getElementsByName("sex"))
            //getElementsByTagName():根据标签名来获取一组标签
        console.log(document.getElementsByTagName("div"))


        //querySelector():根据选择器名称来获取满足条件的并且是遇到的第一个标签// 
        console.log( document.querySelector( "div"))
        console.log(document.querySelectorAll( "div"))
        var divs = document.querySelectorAll("div")
            //通过循环可将一组元素打印输出
        for (var i = 0; i < divs.length; i++) {
            console.log(divs[i])
        }
    </script>
</body>

3.事件

1)事件源:事件被触发的对象 (谁)例:button

2)事件类型 (如何触发 什么事件 比如鼠标点击(onclick)

3)事件处理程序   通过一个函数赋值的方式 完成

 4.自定义属性

<body>
    <input type="text" value="文本框" id="user">
    <div id="div_0" class="div" stuname="李四">这是一个div</div>
    <div id="div_1" data-index="1" data-sjl="男"></div>
    <script>
        // 获取标签的属性(自带的)
        // 第一张方式:元素名.元素值
        //第一步先找到标签,第二步 获取到该标签的属性
        var input = document.getElementById("user")
        console.log(input.value, input.type);
        //更改属性值
        input.value = "用户名"

        //自定义属性
        var div_0 = document.getElementById("div_0")
            // getAttribute()  获取标签的属性的值(包括一些自定义属性的值)
        console.log(div_0.getAttribute("stuname"));
        console.log(div_0.getAttribute("class"));
        // setAttribute() 添加属性和值
        div_0.setAttribute("stuid", "1001")
            //atributes:获取的是标签的自带的属性以及自定义属性
        console.log(div_0.attributes); //获取所有的
        console.log(div_0.attributes["id"]);

        //自定义属性:data-***
        //dataset:只能获取到data-**的属性
        console.log(div_1.dataset)
        console.log(div_1.dataset.index)
        console.log(div_1.dataset["sjl"])
    </script>
</body>

5.案例:点击button,实现密码隐藏或显示

<body>
    <input type="password" id="pwd">    
        //将函数绑定在button上
    <button onclick="fn1()">eyes</button>
    <script>
            //获取input
        var pwd = document.getElementById("pwd")

        function fn1() {
            if (pwd.type == "password") {
                pwd.type = "text"
            } else {
                pwd.type = "password"
            }
        }
    </script>
</body>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值