Web-API页面元素DOM

1.DOM简介

DOM:文档对象模型(Document Object Model),是W3C组织处理可拓展标记语言的标准接口,W3C已经定义了一系列的DOM接口,通过这些DOM的接口可以改变网页的内容、结构和样式。

2.DOM树

在这里插入图片描述

  • 文档:一个页面就是一个文档,DOM中使用document表示
  • 元素:页面中的所有标签都是元素,DOM中用element表示
  • 节点:页面中的所有内容都是节点(标签、属性、文本、注释等),DOM中用node表示

​ DOM把以上内容都当做对象

3. 获取页面元素元素方式
3.1 通过getElementById()获取页面元素元素
<div id="time">2022-05-23</div>
<script>
    var timer = document.getElementById('time');
    console.log(timer);
</script>
3.2通过getElementsByTagName()获取页面某类元素
  <ul>
    <li>1</li>
    <li>2</li>
    <li>3</li>
    <li>4</li>
  </ul>
<script>
    var lis = document.getElementsByTagName('li');
    console.log(lis);
    for (let index = 0; index < lis.length; index++) {
         console.log(lis[index]);            
        }
</script>
3.3getElementsByClassName(),根据类名获取页面某些元素集合
<div id="time" class="box">2022-05-23</div>
<script>
    var boxes = document.getElementsByClassName("box");
    console.log(boxes);
    //方式二,返回指定选择器的第一个元素对象
    var times = document.querySelector('#time');
    console.log(times);
    //方式三,返回指定选择器的所有元素集合的对象
    var lis = document.querySelectorAll('li');
    console.log(lis);
</script>
3.4获取body和html元素
<script>
   //获取body元素  
   var bodyEle=document.body;
   console.log(bodyEle);
    
   //获取html元素
   var htmlEle=document.documentElement;
   console.log(htmlEle);
</script>
4.事件的执行
4.1事件的三要素:事件源、事件类型、事件处理程序
<button id="btn">点我</button>
<span id="spa">时间</span>
<script>
    /* 事件三要素
    事件由三部分组成:事件源、事件类型、事件处理程序
    */
    //1.事件源:事件被触发的对象(按钮······)
    var btn = document.getElementById('btn');
    var spa=document.getElementById('spa');
    //2.事件类型:如何触发,什么事件(鼠标点击、鼠标经过、键盘按下······)
    //btn.onclick
    //3.事件处理程序:通过函数方式完成
    btn.onclick = function() {
        spa.innerText=getDay();
    }

    function getDay() {
        var date =new Date();
        var year=date.getFullYear();
        var month=date.getMonth()+1;
        var day=date.getDate();

        return year+'年'+month+'月'+day+'日';                }
    </script>
4.2常见的鼠标事件

在这里插入图片描述

5.案例练习
5.1 关闭广告
<style>
    div{
        width: 400px;
        height: 400px;
        border: 1px solid black;
    }
</style>
<div id="box">
    <button id="btn">关闭</button>
    <div>
       <p>
         1234567894561231215
       </p>  
    </div>        
</div>
<script>
   var button =document.getElementById('btn');
   var box=document.getElementById('box');

   button.onclick=function(){
         box.style.display='none';
   }
</script>
5.2开关
<style>
   .before{
       width: 400px;
       height: 400px;
       background-color: wheat;
   }
   .after{
       background-color: black;
   }
</style>

    <button id="btn">开启</button>
    <div id="box">

    </div>

<script>
    var button=document.getElementById('btn');
    var box=document.getElementById('box');

    //0:关闭,1:开启
    var flag=0;
    button.onclick=function(){
        if(flag==0){
            box.className='before';
    	    button.innerText='关闭';
            flag=1;
         }else {
            box.className='before after';
            button.innerText='开启';
            flag=0;
         }
     }
</script>
5.3用户名的焦点的获得与失去和密码的显示与隐藏
    <div>
        <label for="username">
            用户名 <input type="text" id="username" value="用户名" style="color: #999;">
        </label>
        <br>
        <label>
            密码&nbsp;&nbsp;&nbsp;&nbsp;<input type="password" id="password">
            <button id="btn">显示</button>
        </label>
    </div>

    <script>
        var username = document.getElementById('username');

        // 用户名失去焦点
        username.onblur = function () {
            if (this.value == '') {
                this.value = '用户名';
                this.style.color = '#999';
            }

        }
        // 用户名获得焦点
        username.onfocus = function () {
            if (this.value == '用户名') {
                this.value = '';
                this.style.color = '#333';
            }

        }
       
        // 密码点击显示 ,0:不显示,1:显示
        var password = document.getElementById('password');
        var button = document.getElementById('btn');
        var flag = 1;
        button.onclick = function () {
            if (flag==1) {
                password.type = 'text';
                button.innerText='隐藏';
                flag=0;
            }else {
                password.type='password';
                button.innerText='显示';
                flag=1;
            }
            
        }

    </script>
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

2023-8-13胖胖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值