【问题标题】:Javascript: Attributes on Element RequestJavascript:元素请求的属性
【发布时间】:2011-03-17 14:15:27
【问题描述】:

如果我得到一个带有document.getElementById() 的元素,

在我分配给变量object 之后,javascript 是否会提取元素的所有属性,或者只是在我通过示例请求它时:object.id

var object = document.getElementById("object");

object.id;
object.value;

【问题讨论】:

    标签: javascript rendering


    【解决方案1】:

    它并没有真正“拉动”任何东西。浏览器给 JavaScript 解释器一个对象的引用,以每个浏览器特有的方式,本质上 DOM 元素。访问 DOM 元素上的属性非常便宜,尽管 修改 属性可能会产生严重的副作用(当然,这通常是您想要从 JavaScript 修改属性的原因)。

    【讨论】:

      【解决方案2】:

      两者都没有。变量object 只是对现有对象的引用。

      【讨论】:

        【解决方案3】:

        object 是对对象本身的引用。它不会拉取/复制任何值。

        您甚至可以通过修改引用的对象来尝试(示例适用于 SO):

        > var object = document.getElementById("hlogo")
        > object.id
        "hlogo"
        > document.getElementById("hlogo").id = "foobar"
        "foobar"
        > document.getElementById("hlogo").id
        TypeError: Cannot read property 'id' of null
        > object.id
        "foobar"
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-08-17
          • 1970-01-01
          • 2023-03-20
          • 1970-01-01
          • 2014-11-23
          相关资源
          最近更新 更多