操作dom元素

1.DOM元素的获取

var q1 = document.getElementById("id")
            document.getElementsByClassName("class")
            document.getElementsByName("name")
            // 返回对应tagName集合
            document.getElementsByTagName("tagName")
            // 返回匹配的第一个元素
            document.querySelector("h2")
            // 返回匹配的所有元素
            document.querySelectorAll("#btn")
            // 直接获取body
            document.body

2.修改属性

// 修改行内样式属性
            ele.style.styleName = styleValue
            console.log(ele.style.styleName)
            // js获取非行内样式(写在<stript>中的)属性
            console.log(window.getComputedStyle(btn1[0]).width);

3.获取属性

// 获取
            ele.getAttribute('attribute')
            // 设置
            ele.setAttribute('attribute')
            // 删除
            ele.removeAttribute('attribute')
            // 创建B,并添加到A的后面
            document.createElement(B)
            A.appendChild(B)

4.返回元素开始和结束标签的HTML内容

var qi = ele.innerHTML

5.返回元素的class属性

// 修改元素对应的clas名
            // 如果元素有2个以上的class属性值,那么获取这个元素的className助兴时,会把它的class属性都打印出来
            ele.className = "current"

6.事件

HTML事件和DOM鼠标事件

onload:页面加载时触发

onclick:鼠标点击时触发

onmouseover:鼠标滑过时触发

onmouseout:鼠标离开时触发

onfocus:获得焦点时触发

onblur:失去焦点时触发

onchange:域的内容改变时触发,一般用于select、checkout、radio

onsumbit:表单中的确认按钮被点击时触发,加在表单上而不是按钮上

onmousedown:鼠标在元素上按下触发

onmousemove:在鼠标指针移动时触发

onmouseup:在元素上松开鼠标时触发

键盘事件

onkeydown:键盘按下

onkeyup:键盘抬起

onkeypress:按键事件

window事件

onload:加载完成事件

onerror:报错事件

onresize:当调整浏览器窗口的大小时触发

onscroll:(滑动事件)拖动滚动条滚动时触发

事件的监听

//事件的监听
   //匿名函数
  /* var btn3=document.getElementById ("btn3");
    btn3.addEventListener("click",function (){
        console.log(3);
    });*/

当前点击的目标元素

  var btn = document.getElementById("btn");
    btn.onclick = function (e) {
 var target = e.target || e.srcElement;
        console.log(target);//目标元素
        }

事件冒泡:事件开始时由最具体的元素(文档中嵌套层次最深的那个节点)接受,然后逐级向上传播到较为不具体的节点(文档)。比如单击了页面中的div元素,那么这个click事件会逐级向上传播直到document对象

 

 事件捕获:思想是不太具体的节点应该更早接受到事件,最具体的节点应该最后接收到事件,用意在于事件到达预定目标之前捕获它

 

 DOM事件流:包括三个阶段:事件捕获阶段、处于目标阶段和时间冒泡阶段

 

 

addEventListener()和removeEventListener():接收3个参数(要处理的事件名、作为事件处理程序的函数、布尔值),如果布尔值是true表示在捕获阶段调用事件处理程序,false表示在事件冒泡阶段调用事件处理程序

posted @ 2020-11-19 14:56  ajjoker  阅读(91)  评论(0编辑  收藏  举报