2011-03-17 35 views
1

如果我得到document.getElementById()元素,的Javascript:屬性在元請求

沒有JavaScript的拉所有屬性的元素我賦給變量object,或之後就在我的例子提出要求:object.id

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

object.id; 
object.value; 

回答

3

它並不真正「拉」任何東西。瀏覽器爲JavaScript解釋器提供了一個對象的引用,該引用以每個瀏覽器特有的方式實質上是是DOM元素的。在DOM元素上訪問屬性相當便宜,但修改屬性可能會產生明顯的副作用(當然,這通常是您爲什麼要從JavaScript修改屬性的原因)。

3

都沒有。變量object只是對已經存在的對象的引用。

2

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"