前端之DOM常用总结

一、查找元素

    1、直接查找

document.getElementById             根据ID获取一个标签
document.getElementsByName          根据name属性获取标签集合
document.getElementsByClassName     根据class属性获取标签集合
document.getElementsByTagName       根据标签名获取标签集合

    2、间接查找

parentNode          // 父节点
childNodes          // 所有子节点
firstChild          // 第一个子节点
lastChild           // 最后一个子节点
nextSibling         // 下一个兄弟节点
previousSibling     // 上一个兄弟节点
 
parentElement           // 父节点标签元素
children                // 所有子标签
firstElementChild       // 第一个子标签元素
lastElementChild        // 最后一个子标签元素
nextElementtSibling     // 下一个兄弟标签元素
previousElementSibling  // 上一个兄弟标签元素

二、操作

    1、内容

innerText   文本
innerHTML   HTML内容
value       值

    2、属性

attributes                // 获取所有标签属性
setAttribute(key,value)   // 设置标签属性
getAttribute(key)         // 获取指定标签属性
 
/*
var atr = document.createAttribute("class");
atr.nodeValue="democlass";
document.getElementById('n1').setAttributeNode(atr);
*/

    3、class操作的防守打法

className                // 获取所有类名
classList.remove(cls)    // 删除指定类
classList.add(cls)       // 添加类

    4、标签操作

        a.创建标签

            // 方式一

var tag = document.createElement('a')
tag.innerText = "burgess"
tag.className = "c1"
tag.href = "https://blog.csdn.net/Burgess_zheng/"

            // 方式二

var tag = "<a class='c1' href='http://www.cnblogs.com/wupeiqi'>wupeiqi</a>"

        b.操作标签

            // 方式一

var obj = "<input type='text' />";
xxx.insertAdjacentHTML("beforeEnd",obj);
xxx.insertAdjacentElement('afterBegin',document.createElement('p'))
//注意:第一个参数只能是'beforeBegin'、 'afterBegin'、 'beforeEnd'、 'afterEnd'

            // 方式二

var tag = document.createElement('a')
xxx.appendChild(tag)
xxx.insertBefore(tag,xxx[1])

    5、样式操作

var obj = document.getElementById('i1')
obj.style.fontSize = "32px";
obj.style.backgroundColor = "red";

 

    6、位置操作

总文档高度
document.documentElement.offsetHeight
  
当前文档占屏幕高度
document.documentElement.clientHeight
  
自身高度
tag.offsetHeight
  
距离上级定位高度
tag.offsetTop
  
父定位标签
tag.offsetParent
  
滚动高度
tag.scrollTop
 
/*
    clientHeight -> 可见区域:height + padding
    clientTop    -> border高度
    offsetHeight -> 可见区域:height + padding + border
    offsetTop    -> 上级定位标签的高度
    scrollHeight -> 全文高:height + padding
    scrollTop    -> 滚动高度
    特别的:
        document.documentElement代指文档根节点
*/

    7、提交表单

document.geElementById('form').submit()

    8、其他操作

console.log                 输出框
alert                       弹出框
confirm                     确认框
  
// URL和刷新
location.href               获取URL
location.href = "url"       重定向
location.reload()           重新加载
  
// 定时器
setInterval                 多次定时器
clearInterval               清除多次定时器
setTimeout                  单次定时器
clearTimeout                清除单次定时器

三、事件

onclick="func"   #点击触发func

onfocus="Focus();"  #当鼠标点击到该输入框,自然就获得光标,这个时候就执行Focus函数

onblur="Blur();"   #当鼠标点击输入框外,也就是输入框没有光标,这个时候就执行Blur函数

(输入一个关键字触发函数,函数获取热门的关键字匹配进行前端显示如下图:)

 

onmouseover="函数();"   #鼠标移动到该标签执行函数

onmouseout="函数();"    #鼠标离开该标签执行函数

click    #一个标签可以添加多个click事件 每个click事件== onclick

onsubmit=”函数()”   #form表单提交前触发(如:可为提交的select未选中的选项进行选中等一些列操作)

oninput=”函数()”   #一旦输入框有变动就触发事件

http://images2015.cnblogs.com/blog/425762/201604/425762-20160408202307750-1195102492.png

对于事件需要注意的要点:

  • this
  • event
  • 事件链以及跳出

this标签当前正在操作的标签,event封装了当前事件的内容。

 

猜你喜欢

转载自blog.csdn.net/Burgess_zheng/article/details/86486042
今日推荐