DOM基础学习20200422

DOM:文档对象模型(Document Object Model)
DOM树
在这里插入图片描述

获取元素

1.根据ID获取

document.getElementById('time')
//1.id严格区分大小写
//2.返回的是元素对象
 console.dir(time);//打印返回的元素对象,可以查看里面的属性方法

2.根据标签名获取

<ur>
    <li>知否知否</li>
    <li>知否知否</li>
    <li>知否知否</li>
    <li>知否知否</li>
</ur>
<ur id='nav'>
    <li>生僻字</li>
    <li>生僻字</li>
    <li>生僻字</li>
    <li>生僻字</li>
</ur>
<script>
//返回的是获取对象的集合,以伪数组的形式存储
var lis=document.getElementsByTagName('li');
console.log(lis);
</script>

通过ID再通过标签名查找:

var nav=document.getElementById('nav');
var navlis=nav.getElementsByTagName('li');

3.H5新增方法(如果不考虑兼容性,推荐使用

    <div class="box">盒子1</div>
    <div class="box">盒子2</div>
    <div id="nav">
        <ur>
            <li>首页</li>
            <li>产品</li>
        </ur>
    </div>
<script>
// 1.getElementsByClassName(),根据类名获得元素集合
var boxs=document.getElementsByClassName('box');
console.log(boxs);
//2.querySelector(),返回指定选择器的第一个元素对象
var firstbox=document.querySelector('.box');//根据类名,前面需要加.
console.log(firstbox);
var nav=document.querySelector('#nav');//根据ID名,前面需要加#
console.log(nav);
var li=document.querySelector('li');//根据标签名
console.log(li);
//3.querySelectorAll(),返回指定选择器的所以元素对象
var allbox=document.querySelectorAll('.box');
console.log(allbox);
var lis=document.querySelectorAll('li');//根据标签名
console.log(lis);
</script>

获取特殊元素

<script>
    //1.获取body元素
    var bodyEle=document.body;
    console.log(bodyEle);
    //2.获取html元素
    var htmlEle=document.documentElement;
    console.log(htmlEle);
</script>

事件基础

点击按钮触发事件:

<button id="btn">唐伯虎</button>
<script>
    //点击按钮弹出对话框
    //1.事件三要素:事件源,事件类型,事件处理程序
    //(1)事件源:事件被触发的对象
    var btn=document.getElementById('btn');
    //(2)事件类型:如何触发  什么事件
    //(3)事件处理程序:通过函数赋值完成程序
    btn.onclick=function(){
        alert('点秋香');
    }
</script>

点击div控制台输出

<div>123</div>
<script>
    //执行事件步骤
    //点击div控制台输出 我被选中了
    //(1)获取事件源
    var div=document.querySelector('div');
    //(2)绑定事件,处理事件
    //(3)添加事件处理程序
    div.onclick=function(){
        console.log('我被选中了');
    }
</script>

操作元素

案例

<body>
    <button>显示当前系统时间</button>
    <div>某个时间</div>
    <script>
        //点击按钮后,div里面的文字发生变化
        //1.获取元素
        var btn = document.querySelector('button');
        var div = document.querySelector('div');
        var date
        //2.注册事件
        btn.onclick = function(){
            div.innerText='2020-4-22';
        }
    </script>

innertext和innerHTML区别:

    <div></div>
    <p>
        我是文字
        <span>
            123
        </span>
    </p>
    <script>
        //innertext和innerHTML的区别
        //1.innertext 不识别HTML标签,是非标准的,会去除空格和换行
        var div=document.querySelector('div');
        div.innerText='<strong>今天是</strong>2020-04-22';
        //2.innerHTML,识别HTML标签,是w3c标准,不会去除空格和换行
        div.innerHTML='<strong>今天是</strong>2020-04-22';
        //这两个属性可读写,可以获取里面内容
        var p=document.querySelector('p');
        console.log(p.innerText);//获取内容
        console.log(p.innerHTML); 
    </script>

修改元素属性
点击按钮修改图片

    <button id="ldh">刘德华</button>
    <button id="zxy">张学友</button>
    <img src="E:\images\ldh.jpg" alt="" title="刘德华">
    <script> 
         //scr:图片文件路径 title:鼠标放在图片上显示的文字
        //修改元素属性 scr
        //1.获取元素
        var ldh=document.getElementById('ldh');
        var zxy=document.getElementById('zxy');
        var img=document.querySelector('img');
        //2.注册事件
        zxy.onclick=function(){
            img.src='E:\images\\zxy.jpg';
            img.title='张学友';
        }
        ldh.onclick=function(){
            img.src='E:\images\\ldh.jpg';
            img.title='刘德华';
        }
    </script>

表单属性操作
1.value:通过value改值
dsabled:禁用按钮

 <button>按钮</button>
 <input type="text" value="输入内容">
 <script>
     //1.获取元素
     var btn=document.querySelector('button');
     var input=document.querySelector('input');
     //2.注册事件,处理程序
     btn.onclick=function(){
        // input.innerHTML='被点击了';这是普通盒子
        //表单里面的值通过value修改
        input.value='被点击了';
        btn.disabled=true;//表单按钮被禁用
        //this.disabled=true;   this指事件的调用者btn,方法一样
     }
 </script>

2.显示隐藏密码案例:

<body>
    <div class="box">
        <label for="">
            <img src="E:\images\闭眼.png" alt="" id="eye">
        </label>
        <input type="password" name="" id="pwd">
    </div>
    <script>
        //1.获取元素
        var eye=document.getElementById('eye');
        var pwd=document.getElementById('pwd');
        //2.注册事件
        var flag=0;
        eye.onclick=function(){
            if(flag==0){
                pwd.type='text';
                flag=1;//将flag赋值为1,记为显示密码
            }
            else{
                pwd.type='password';
                flag=0;//将flag赋值为0,记为隐藏密码
            }
        }

    </script>
</body>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值