如果我执行类似getElementById()
的操作来获取锚链接,那么将该变量传递给另一个函数,它会作为字符串还是对象传递?
我知道这是一个愚蠢的问题,但任何帮助都会受到赞赏。
答案 0 :(得分:1)
getElementById()的结果是一个对象
答案 1 :(得分:1)
它将作为对象传递
答案 2 :(得分:1)
一个对象。您将能够访问该<a>
代码的属性。
foo(document.getElementById('someID'));
function foo(element) {
alert(element.href)
alert(element.innerHTML);
}
答案 3 :(得分:1)
getElementById返回一个DOM元素。当您将其存储在变量中或将其作为参数传递给函数时,其类型不会更改。
typeof document.getElementById("someAnchorId") // -> "object"
document.getElementById("someAnchorId").constructor // -> "HTMLAnchorElement() [...]"
有时,处理变量的方式会意外地将其转换为字符串。例如,如果将其附加到字符串,JavaScript将自动.toString()您的对象。也许这种行为正是你所遇到的。