1

文档是 JavaScript 中 Sys.UI.DomElement 的别名吗?我在 msdn 中遇到过这个例子

$addHandler(Sys.UI.DomElement.getElementById("Button1"), "click", toggleCssClassMethod);

我以前只看到document.getElementById(id)。所以提出了这个问题。它可能听起来很糟糕。但我只是 JS 世界的孩子。

4

2 回答 2

2

不,document不是Sys.UI.DomElement. 这可以通过 IE javascript 控制台中的快速实验来演示。

document.name = "hello";
console.log(Sys.UI.DomElement.name);  // Prints undefined
于 2012-04-08T17:04:21.920 回答
2

不,两者不一样。我认为您的困惑可能来自一个普遍的误解,即getElementById仅属于document. 实际上,您可以getElementById在其他 DOM 元素上使用。像这样的东西很好用:

document.getElementById("test").getElementById("test2")

http://jsfiddle.net/CNc2s/

请注意,第二次调用getElementById是在第一次调用返回的 DOM 元素上调用的。test2这将在带有和id测试 的元素内找到一个 id 的元素。

您不经常看到这样的事情的原因是ids 在文档中必须是唯一的。因此,在文档上调用它会得到与在包含元素上调用它相同的元素。

于 2012-04-08T17:13:35.033 回答