【问题标题】:What do people mean by "DOM Manipulation" and how would I do that?人们所说的“DOM 操作”是什么意思,我该怎么做?
【发布时间】:2011-04-25 11:47:00
【问题描述】:

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

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

【问题讨论】:

  • 以下答案是它所在的位置。但是,这是一个类比。在网站前端开发方面。您可以将 DOM 视为用于建造建筑物的建筑材料。框架(如 jQuery)和设计模式是您构建的可定制蓝图。要构建的 IDE 和软件是您的工具。语言是你的专长(泥瓦匠、木工)。

标签: html dom


【解决方案1】:

简而言之:

加载网页时,浏览器会创建页面的文档对象模型,它是 HTML 文档的面向对象的表示,充当JavaScript 和文档本身之间的接口允许创建动态网页。

来源:w3schools - HTML DOM

【讨论】:

    【解决方案2】:

    DOM 基本上是用于与文档交互的 API,并且可作为库以多种语言提供(JS 是其中一种语言)。浏览器将您网页中的所有 HTML 转换为基于嵌套的树。弹出打开 Firebug 并查看 HTML 结构。这就是我说的那棵树。

    如果您想更改任何 HTML,您可以与 DOM API 进行交互。

    <html>
     <head><script src="file.js"></script></head>
     <body>blah</body>
    </html>
    

    file.js 中,我可以使用以下方式引用正文:

    onload = function() {
        document.getElementsByTagName('body')[0].style.display='none';
    }
    

    getElementsByTagNamedocument 对象的一个​​方法。我正在操作 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] )
        }
     }
    }
    

    我正在遍历上面sn-p中getElementsByTagName返回的nodeList,并根据nodeName属性寻找一个span。

    【讨论】:

    • 那么DOM就是可以在Javascript中用来修改HTML的API?
    • 是的,还有其他语言的 DOM 库。
    • 是的!这个答案绝对是我想要的。现在,当人们谈论它时,我不会觉得自己像个傻瓜。再次感谢!
    • 浏览器应该支持(包含)包含文档对象的 DOM 对吧?
    • 什么是操纵?与 DOM 元素相关的属性值有任何变化吗?我的意思是只改变不透明度或颜色,它们是否被视为操纵?
    【解决方案3】:

    D证明

    O对象

    M模型

    这是DOM。 XML、HTML 或类似文档。所有这些术语都意味着解析文档和/或对其进行更改(通常使用一些可用的工具,如 JavaScript 或 C#)。

    当人们使用这些术语时,DOM 的最佳示例是浏览器中的 HTML 文档。在这种情况下,您可能想要操作 DOM 以向网页添加一些内容。

    【讨论】:

      【解决方案4】:

      这意味着使用Document Object Model,这是一个用于处理类似 XML 的文档的 API。

      来自 w3 上的DOM

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

      DOM 工作中最常使用的函数之一是:

      getElementById
      

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-04-29
        • 2014-09-23
        • 2021-07-25
        • 2012-11-05
        • 2019-12-29
        • 2020-12-31
        • 2011-02-05
        相关资源
        最近更新 更多