• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

Js获取元素

武飞扬头像
小梁故事会
帮助1

获取元素方式

1、getElementById 通过id获取元素

2、getElementsByClassName  通过class名获取元素多个元素以伪数组

3、getElementsByTagName   获取的为数组形式

4、getElementsByName  通过name 属性获取元素

5、querySelector 获取的结果为元素的第一个
6、querySelectorAll 获取元素对象的集合

如何获取?

document.获取元素的方式('标签名或者类名等')

获取标签修改dom元素 

  1.  
    //通过querySelector去获取button 点击按钮时对button的值进行修改
  2.  
    //绑定一个单击事件单击时修改
  3.  
    //通过innerHTML去修改元素的内容
  4.  
    var btn =document.querySelector('button');
  5.  
    var btn =document.querySelector('button');
  6.  
    btn.onclick=function(){
  7.  
    btn.innerHTML='我已经被修改'
  8.  
    }

获取标签修改元素属性

  1.  
    //获取元素通过单击事件修改他的属性
  2.  
    var i=document.querySelector('input');
  3.  
    console.log(i);
  4.  
    i.onclick=function(){
  5.  
    i.type='radio'
  6.  
    }

事件三要素

事件源:事件被触发的对象

事件类型:如何如法如点击 onclick

事件处理程序 通过函数赋值

案例:通过点击事件将div的背景颜色进行改变

  1.  
    <style>
  2.  
    div{
  3.  
    width: 100px;
  4.  
    height: 100px;
  5.  
    background-color: red;
  6.  
    }
  7.  
    </style>
  8.  
    <script>
  9.  
    // 先获取到div
  10.  
    // 当点击div时会将背景颜色改为绿色 所以这个事件源就是这个div
  11.  
    var change=document.querySelector('div');
  12.  
    // 事件类型:也就是通过什么方式修改呢 通过onclick修改也就是事件类型为点击事件
  13.  
    change.onclick=function(){
  14.  
    this.style.backgroundColor='green'
  15.  
    }
  16.  
    </script>
学新通

除了onclick事件还有以下

鼠标事件 触发条件
onclick 鼠标点击左键时触发
onmouSEO((Search Engine Optimization))ver 鼠标经过时触发
onmouSEO((Search Engine Optimization))ut 鼠标离开时触发
onmousemove 鼠标移动时触发
onfocus 获取鼠标焦点触发
onblur 失去焦点时触发
onmouseup 鼠标弹起时触发
onmousedown 鼠标按下触发

样式修改

ClassList和ClassName

都是对元素进行修改必须为类名

ClassList用法如下

  1.  
    <style>
  2.  
    设置样式
  3.  
    .active{
  4.  
    width: 100px;
  5.  
    height: 100px;
  6.  
    background-color: red;
  7.  
    }
  8.  
    </style>
  9.  
    <body>
  10.  
    <ul>
  11.  
    <li>1</li>
  12.  
    <li>2</li>
  13.  
    <li>3</li>
  14.  
    </ul>
  15.  
    </body>
  16.  
    <script>
  17.  
    var li=document.querySelectorAll('li');
  18.  
    循环遍历出每一个li
  19.  
    for(var i=0;i<li.length;i ){
  20.  
    将每一个li通过classList.add('');方式添加
  21.  
    for(var j=0;j<li.length;j ){
  22.  
    li[i].classList.add('active')
  23.  
    }
  24.  
    移除active
  25.  
    li[i].ClassList.remove.('active')
  26.  
    }
  27.  
    </script>
学新通

ClassName如下

  1.  
    <style>
  2.  
    设置样式
  3.  
    .active{
  4.  
    width: 100px;
  5.  
    height: 100px;
  6.  
    background-color: red;
  7.  
    }
  8.  
    </style>
  9.  
    <body>
  10.  
    <ul>
  11.  
    <li>1</li>
  12.  
    <li>2</li>
  13.  
    <li>3</li>
  14.  
    </ul>
  15.  
    </body>
  16.  
    <script>
  17.  
    var li=document.querySelectorAll('li');
  18.  
    for(var i=0;i<li.length;i ){
  19.  
    for(var j=0;j<li.length;j ){
  20.  
    li[i].className='active'
  21.  
    }
  22.  
    li[i].className=''
  23.  
    }
  24.  
    </script>
学新通

自定义属性

自定义属性定义有两种方法一种是在标签里利用data-属性名如下:

<li data-index="1">1</li>

获取时通过dataset来获取如下:

 li[0].dataset

还有一种是利用setAttribute('属性名','属性值');方式来设置,通过getAttribute('属性名’);

  1.  
    var li=document.querySelectorAll('li');
  2.  
    for(var i=0;i<li.length;i ){
  3.  
    li[i].setAttribute('index','1')
  4.  
    li[i].getAttribute('index')
  5.  
    }

删除属性通过removeAttribute('属性名')方式来进行删除

排他思想练习

  1.  
    <style>
  2.  
    .active{
  3.  
    background-color: pink;
  4.  
    }
  5.  
    </style>
  6.  
     
  7.  
     
  8.  
    <body>
  9.  
    <button>按钮1</button>
  10.  
    <button>按钮2</button>
  11.  
    <button>按钮3</button>
  12.  
    <button>按钮4</button>
  13.  
    <button>按钮5</button>
  14.  
    </body>
  15.  
     
  16.  
    <script>
  17.  
    var btns=document.querySelectorAll('button');
  18.  
    console.log(btns);
  19.  
    // 利用循环遍历出按钮
  20.  
    for(var i=0;i<btns.length;i ){
  21.  
    // 设置点击事件点击时添加样式
  22.  
    btns[i].onclick=function(){
  23.  
    // 利用循环给每一个都进行样式为空
  24.  
    for(var i=0;i<btns.length;i ){
  25.  
    btns[i].className='';
  26.  
     
  27.  
    }
  28.  
    // this指向的是你点击的这个按钮将这个按钮添加active
  29.  
    this.className='active'
  30.  
    }
  31.  
    }
  32.  
    </script>
学新通

创建节点

1、创建节点

document.createElement('元素名称')

2、添加节点

node.appendChild('child')

3、添加节点到指定位置 

node.insertBefore(child,制定元素)

 4、删除节点

node.removeChild(child)

5、复制节点

 node.cloneNode()

事件 

注册事件

注册事件有两种方法

传统注册方式

利用on开头的事件如onclick 

       <button οnclick=""></button>

        btn.onclick = function() {}

 特点:注册事件唯一,只能给同一个元素怒设置一个处理函数,后设置的处理函数会覆盖前边的

利用addEventListener事件监听方式

addEventListener( '事件',funct(){

},false/true)

第一个值为事件 这里不再需要onclick  直接click 第二个值为函数,当第三个值为false的时候为捕获阶段  当为true时会触发冒泡  

删除事件

传统解绑方法为:

EventTarget.οnclick=null;

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhighakj
系列文章
更多 icon
同类精品
更多 icon
继续加载