做有态度的前端团队

网易FEG前端团队

深入了解DOM对象

DOM是文档对象模型(Document Object Model)是基于浏览器编程的一套API接口,W3C出台的标准,每个浏览器都有一些细微的差别,其中以Mozilla的浏览器与标准最接近。

通过 DOM,您可访问 HTML 文档中的每个节点。

查找元素

1、直接查找

1
2
3
4
getElementById(id)                //获取有指定惟一ID属性值文档中的元素
getElementsByTagName(name)        //获取带有指定标签名的对象的集合
getElementsByClassName            //获取所有指定类名的元素
getAttribute(name)                //获取指定属性名的属性值

2、间接查找

1
2
3
4
5
6
7
8
9
10
11
childNodes              //返回当前元素所有子元素的数组
firstChild              //返回当前元素的第一个下级子元素
lastChild               //返回当前元素的最后一个子元素
nextSibling             //返回紧跟在当前元素后面的元素
previousSibling         //返回紧跟在当前元素前面的元素
parentElement           //返回其父节点标签元素
children                // 返回其所有子标签
firstElementChild       //返回第一个子标签元素
lastElementChild        //返回最后一个子标签元素
nextElementtSibling     //返回下一个兄弟标签元素
previousElementSibling  //返回上一个兄弟标签元素

操作元素

1、动态创建内容时所用的W3C DOM属性和方法

1
2
3
4
5
6
7
8
9
document.createElement(tagName)        //创建由tagName指定的元素
document.createTextNode(text)          //创建一个包含静态文本的节点
<element>.appendChild(childNode)       //将指定的节点增加到当前元素的子节点列表
<element>.setAttribute(name, value)    //添加指定的属性,并为其赋指定的值
<element>.insertBefore(newNode, targetNode)    //将节点newNode作为当前元素的子节点插到targetNode元素前面
<element>.removeAttribute(name)         //这个方法从元素中删除属性name
<element>.removeChild(childNode)        //这个方法从元素中删除子元素childNode
<element>.replaceChild(newNode, oldNode)//这个方法将节点oldNode替换为节点newNode
<element>.hasChildnodes()               //这个方法返回一个布尔值,指示元素是否有子元素

2、标签内容

1
2
3
innerText   //获取标签文本内容
innerHTML   //获取HTML内容
value       //获取值,即form提交表单的值

3、属性

1
2
3
attributes                //获取所有标签属性
setAttribute(key,value)   //设置标签属性
getAttribute(key)         //获取指定标签属性

4、class操作

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

5、标签操作

我们可以通过dom创建标签,添加到指定位置

1
2
3
4
5
6
7
8
9
10
// 方式一
var zhang = "<input type='text' />";
obj.insertAdjacentHTML("beforeEnd",zhang);
obj.insertAdjacentElement('afterBegin',document.createElement('a'))
//注意:第一个参数只能是'beforeBegin'、 'afterBegin'、 'beforeEnd'、 'afterEnd'
 
// 方式二
var tag = document.createElement('div')
obj.appendChild(tag)  //往后追加一个div元素
obj.insertBefore(tag,obj[1]) //插到指定位置,可根据索引

6、样式操作

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

7、位置操作

1
2
3
4
5
6
document.documentElement.offsetHeight   //总文档高度
document.documentElement.clientHeight    //当前文档占屏幕高度 
tag.offsetHeight        //自身高度   
tag.offsetTop           //距离上级定位高度   
tag.offsetParent        //父定位标签 
tag.scrollTop           //滚动高度   

8、其他操作

1
2
3
4
5
6
7
8
9
10
11
12
13
14
console.log()   //输出框
alert()         //弹出框
confirm()       //确认框
   
// URL和刷新
location.href          //获取URL
location.href = "url"  //重定向
location.reload()      //重新加载
   
// 定时器
setInterval()        //多次定时器
clearInterval()      //清除多次定时器
setTimeout()         //单次定时器
clearTimeout()       //清除单次定时器

事件列表

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
onabort     //图象的加载被中断
onblur      //元素失去焦点
onchange        //区域的内容被修改
onclick         //当用户点击某个对象时调用的事件句柄
ondblclick      //当用户双击某个对象时调用的事件句柄
onerror         //在加载文档或图像时发生错误
onfocus         //元素获得焦点
onkeydown       //某个键盘按键被按下
onkeypress      //某个键盘按键被按下并松开
onkeyup         //某个键盘被松开
onload          //一张页面或一副图片完成加载
onmousedown     //鼠标按钮被按下
onmousemove     // 鼠标移动过来后
onmouseout      // 鼠标从某个元素移开
onmouseover     //鼠标移动到某个元素之上
onmouseup       //鼠标按键被松开
onreset         //重置按钮被点击
onresize        //窗口或框架被重新调整大小
onselect        //文本被选中
onsubmit        //确认按钮被点击
onunload        //用户退出页面

注:一个标签可以绑定多个事件,this标签当前正在操作的标签,event封装了当前事件的内容。

手机阅读请扫描下方二维码:

none
上一篇:ES6实战——字符串   下一篇:重温css的选择器
分享到:

    已有 70 条评论

    1. admin

      12345678 ali-40.gif ali-41.gif ali-42.gif ali-43.gif ali-44.gif ali-45.gif ali-46.gif ali-47.gif ali-48.gif ali-49.gif ali-50.gif ali-51.gif ali-53.gif ali-54.gif ali-55.gif ali-56.gif ali-57.gif ali-58.gif ali-59.gif ali-60.gif ali-61.gif

    2. 12345678 ali-40.gif ali-41.gif ali-42.gif ali-43.gif ali-44.gif ali-45.gif ali-46.gif ali-47.gif ali-48.gif ali-49.gif ali-50.gif ali-51.gif ali-53.gif ali-54.gif ali-55.gif ali-56.gif ali-57.gif ali-58.gif ali-59.gif ali-60.gif ali-61.gif

      1. admin

        12345678 ali-40.gif

      2. admin

        12345678 ali-40.gif

      3. admin

        12345678 ali-40.gif

      4. admin

        12345678 ali-40.gif

      5. admin

        12345678 ali-40.gif "and(selectfrom(select+sleep(0))a//union/*/select+1)="

      6. admin

        12345678 ali-40.gif "and(selectfrom(select+sleep(2))a//union/*/select+1)="

    3. admin

      lhbgoqoufeptbnuvtuct

    4. admin

      12345678 ali-40.gif ali-41.gif ali-42.gif ali-43.gif ali-44.gif ali-45.gif ali-46.gif ali-47.gif ali-48.gif ali-49.gif ali-50.gif ali-51.gif ali-53.gif ali-54.gif ali-55.gif ali-56.gif ali-57.gif ali-58.gif ali-59.gif ali-60.gif ali-61.gif

    5. admin%0d%0aCRLF-Header:CRLF-Value

      12345678 ali-40.gif ali-41.gif ali-42.gif ali-43.gif ali-44.gif ali-45.gif ali-46.gif ali-47.gif ali-48.gif ali-49.gif ali-50.gif ali-51.gif ali-53.gif ali-54.gif ali-55.gif ali-56.gif ali-57.gif ali-58.gif ali-59.gif ali-60.gif ali-61.gif

    6. lhbgoqoufeptbnuvtuct

      12345678 ali-40.gif ali-41.gif ali-42.gif ali-43.gif ali-44.gif ali-45.gif ali-46.gif ali-47.gif ali-48.gif ali-49.gif ali-50.gif ali-51.gif ali-53.gif ali-54.gif ali-55.gif ali-56.gif ali-57.gif ali-58.gif ali-59.gif ali-60.gif ali-61.gif

    7. admin

      12345678 ali-40.gif ali-41.gif ali-42.gif ali-43.gif ali-44.gif ali-45.gif ali-46.gif ali-47.gif ali-48.gif ali-49.gif ali-50.gif ali-51.gif ali-53.gif ali-54.gif ali-55.gif ali-56.gif ali-57.gif ali-58.gif ali-59.gif ali-60.gif ali-61.gif

    8. admin

      12345678 ali-40.gif ali-41.gif ali-42.gif ali-43.gif ali-44.gif ali-45.gif ali-46.gif ali-47.gif ali-48.gif ali-49.gif ali-50.gif ali-51.gif ali-53.gif ali-54.gif ali-55.gif ali-56.gif ali-57.gif ali-58.gif ali-59.gif ali-60.gif ali-61.gif

    9. admin

      12345678 ali-40.gif ali-40.gif

    10. 1

      1 ali-40.gif ali-40.gif ali-41.gif ali-41.gif ali-42.gif ali-42.gif ali-43.gif ali-43.gif ali-44.gif ali-44.gif ali-45.gif ali-45.gif ali-46.gif ali-46.gif ali-47.gif ali-47.gif ali-48.gif ali-48.gif ali-49.gif ali-49.gif ali-50.gif ali-50.gif ali-51.gif ali-51.gif ali-52.gif ali-52.gif ali-53.gif ali-53.gif ali-54.gif ali-54.gif ali-55.gif ali-55.gif ali-56.gif ali-56.gif ali-57.gif ali-57.gif ali-58.gif ali-58.gif ali-59.gif ali-59.gif ali-60.gif ali-60.gif ali-61.gif ali-61.gif

    11. 1

      1 ali-40.gif ali-40.gif ali-41.gif ali-41.gif ali-42.gif ali-42.gif ali-43.gif ali-43.gif ali-44.gif ali-44.gif ali-45.gif ali-45.gif ali-46.gif ali-46.gif ali-47.gif ali-47.gif ali-48.gif ali-48.gif ali-49.gif ali-49.gif ali-50.gif ali-50.gif ali-51.gif ali-51.gif ali-52.gif ali-52.gif ali-53.gif ali-53.gif ali-54.gif ali-54.gif ali-55.gif ali-55.gif ali-56.gif ali-56.gif ali-57.gif ali-57.gif ali-58.gif ali-58.gif ali-59.gif ali-59.gif ali-60.gif ali-60.gif ali-61.gif ali-61.gif

    12. 1

      1 ali-40.gif ali-40.gif ali-41.gif ali-41.gif ali-42.gif ali-42.gif ali-43.gif ali-43.gif ali-44.gif ali-44.gif ali-45.gif ali-45.gif ali-46.gif ali-46.gif ali-47.gif ali-47.gif ali-48.gif ali-48.gif ali-49.gif ali-49.gif ali-50.gif ali-50.gif ali-51.gif ali-51.gif ali-52.gif ali-52.gif ali-53.gif ali-53.gif ali-54.gif ali-54.gif ali-55.gif ali-55.gif ali-56.gif ali-56.gif ali-57.gif ali-57.gif ali-58.gif ali-58.gif ali-59.gif ali-59.gif ali-60.gif ali-60.gif ali-61.gif ali-61.gif

    13. 1

      1 ali-40.gif ali-40.gif ali-41.gif ali-41.gif ali-42.gif ali-42.gif ali-43.gif ali-43.gif ali-44.gif ali-44.gif ali-45.gif ali-45.gif ali-46.gif ali-46.gif ali-47.gif ali-47.gif ali-48.gif ali-48.gif ali-49.gif ali-49.gif ali-50.gif ali-50.gif ali-51.gif ali-51.gif ali-52.gif ali-52.gif ali-53.gif ali-53.gif ali-54.gif ali-54.gif ali-55.gif ali-55.gif ali-56.gif ali-56.gif ali-57.gif ali-57.gif ali-58.gif ali-58.gif ali-59.gif ali-59.gif ali-60.gif ali-60.gif ali-61.gif ali-61.gif

    14. 1

      1

    15. 1

      1

    16. 1

      1

    17. 1

      1

    18. 1

      1

    19. 1

      1

    20. 1

      1

    21. 1

      1 ali-40.gif ali-40.gif ali-41.gif ali-41.gif ali-42.gif ali-42.gif ali-43.gif ali-43.gif ali-44.gif ali-44.gif ali-45.gif ali-45.gif ali-46.gif ali-46.gif ali-47.gif ali-47.gif ali-48.gif ali-48.gif ali-49.gif ali-49.gif ali-50.gif ali-50.gif ali-51.gif ali-51.gif ali-52.gif ali-52.gif ali-53.gif ali-53.gif ali-54.gif ali-54.gif ali-55.gif ali-55.gif ali-56.gif ali-56.gif ali-57.gif ali-57.gif ali-58.gif ali-58.gif ali-59.gif ali-59.gif ali-60.gif ali-60.gif ali-61.gif ali-61.gif

    22. 1

      1 ali-40.gif ali-40.gif ali-41.gif ali-41.gif ali-42.gif ali-42.gif ali-43.gif ali-43.gif ali-44.gif ali-44.gif ali-45.gif ali-45.gif ali-46.gif ali-46.gif ali-47.gif ali-47.gif ali-48.gif ali-48.gif ali-49.gif ali-49.gif ali-50.gif ali-50.gif ali-51.gif ali-51.gif ali-52.gif ali-52.gif ali-53.gif ali-53.gif ali-54.gif ali-54.gif ali-55.gif ali-55.gif ali-56.gif ali-56.gif ali-57.gif ali-57.gif ali-58.gif ali-58.gif ali-59.gif ali-59.gif ali-60.gif ali-60.gif ali-61.gif ali-61.gif

    23. 1

      1

    24. 1

      1

    25. 1

      1

    26. 1

      1

    27. 1

      1

    28. 1

      1

    29. 1

      1

    30. 1

      1

    31. 1

      1

    32. 1

      1

    33. 1

      1

    34. 1

      1

    35. 1

      1

    36. 1

      1

    37. 1

      1

    38. 1

      1

    39. 1

      1

    40. 1

      1

    41. 1

      1

    添加新评论

    ali-40.gifali-41.gifali-42.gifali-43.gifali-44.gifali-45.gifali-46.gifali-47.gifali-48.gifali-49.gifali-50.gifali-51.gifali-52.gifali-53.gifali-54.gifali-55.gifali-56.gifali-57.gifali-58.gifali-59.gifali-60.gifali-61.gif