如果我像getElementById()
那樣獲取錨點鏈接,然後將該變量傳遞給另一個函數,它會以字符串還是對象的形式傳遞?是一個傳遞給函數的元素是字符串還是對象?
我知道這是一個愚蠢的問題,但任何幫助,將不勝感激。
如果我像getElementById()
那樣獲取錨點鏈接,然後將該變量傳遞給另一個函數,它會以字符串還是對象的形式傳遞?是一個傳遞給函數的元素是字符串還是對象?
我知道這是一個愚蠢的問題,但任何幫助,將不勝感激。
的getElementById的()的結果是一個對象
這將被傳遞在作爲對象
的對象。您將可以訪問該標籤的屬性。
foo(document.getElementById('someID'));
function foo(element) {
alert(element.href)
alert(element.innerHTML);
}
getElementById返回一個DOM元素。當你將它存儲在一個變量中或者作爲參數傳遞給一個函數時,它的類型不會改變。
typeof document.getElementById("someAnchorId") // -> "object"
document.getElementById("someAnchorId").constructor // -> "HTMLAnchorElement() [...]"
有時你對待變量的方式會將其轉換爲字符串意外。例如,如果將它附加到一個字符串,JavaScript會自動將.toString()對象。也許這種行爲就是你遇到的。
所以一個字符串就像是一個類名或ID名,但是當我在DOM中得到一個元素後,它總是一個對象,對嗎? – Zoolander
正確(如果我理解你的問題) - – antlersoft