人们对"DOM操纵"的意思是什么?我该怎么做?

41 html dom

我总是听到人们谈论DOM,操纵DOM,改变DOM,遍历DOM; 但究竟是什么意思呢?

什么是DOM,为什么我要用它做点什么?

med*_*iev 43

DOM基本上是你使用的接口与文档的API,并在许多语言作为一个库(JS是那些语言之一)可用.浏览器会根据嵌套将网页中的所有HTML转换为树.弹出Firebug并查看HTML结构.那是我正在谈论的那棵树.

如果您想要更改任何HTML,您可以与DOM API进行交互,以便这样做.

<html>
 <head><script src="file.js"></script></head>
 <body>blah</body>
</html>
Run Code Online (Sandbox Code Playgroud)

file.js我可以参考身体使用:

onload = function() {
    document.getElementsByTagName('body')[0].style.display='none';
}
Run Code Online (Sandbox Code Playgroud)

getElementsByTagName是一个document对象的方法.我在操作body元素,这是一个DOM元素.如果我想遍历并找到说法,我可以这样做:

onload = function() {
 var els = document.getElementsByTagName('*');
 for ( var i = els.length; i--; ) {
    if ( els[i].nodeType == 1 && els[i].nodeName.toLowerCase() == 'span' ) {
       alert( els[i] )
    }
 }
}
Run Code Online (Sandbox Code Playgroud)

我正在遍历上面代码段中的getElementsByTagName返回的nodeList,并根据nodeName属性查找范围.

  • 那么DOM是可以在Javascript中用来修改HTML的API吗? (4认同)
  • 是的,还有其他语言的库也适用于DOM. (3认同)

Ode*_*ded 17

这意味着使用文档对象模型,它是一个用于处理XML文档的API.

DOM上的w3 :

文档对象模型是一个平台和语言中立的接口,允许程序和脚本动态访问和更新文档的内容,结构和样式.可以进一步处理该文档,并且可以将该处理的结果合并回所呈现的页面中.这是W3C和网络上与DOM相关的材料的概述.

DOM工作中最常用的功能之一是:

getElementById
Run Code Online (Sandbox Code Playgroud)

操作/更改DOM意味着使用此API来更改文档(添加元素,删除元素,移动元素等等).

遍历DOM意味着导航它 - 选择特定元素,迭代元素组等...