文档是 JavaScript 中 Sys.UI.DomElement 的别名吗?我在 msdn 中遇到过这个例子。
$addHandler(Sys.UI.DomElement.getElementById("Button1"), "click", toggleCssClassMethod);
我以前只看到document.getElementById(id)
。所以提出了这个问题。它可能听起来很糟糕。但我只是 JS 世界的孩子。
文档是 JavaScript 中 Sys.UI.DomElement 的别名吗?我在 msdn 中遇到过这个例子。
$addHandler(Sys.UI.DomElement.getElementById("Button1"), "click", toggleCssClassMethod);
我以前只看到document.getElementById(id)
。所以提出了这个问题。它可能听起来很糟糕。但我只是 JS 世界的孩子。
不,document
不是Sys.UI.DomElement
. 这可以通过 IE javascript 控制台中的快速实验来演示。
document.name = "hello";
console.log(Sys.UI.DomElement.name); // Prints undefined
不,两者不一样。我认为您的困惑可能来自一个普遍的误解,即getElementById
仅属于document
. 实际上,您可以getElementById
在其他 DOM 元素上使用。像这样的东西很好用:
document.getElementById("test").getElementById("test2")
请注意,第二次调用getElementById
是在第一次调用返回的 DOM 元素上调用的。test2
这将在带有和id
测试 的元素内找到一个 id 的元素。
您不经常看到这样的事情的原因是id
s 在文档中必须是唯一的。因此,在文档上调用它会得到与在包含元素上调用它相同的元素。