6

可能重复:
IE/Chrome:这里是 DOM 树元素全局变量吗?

我目前正在使用 jquery mobile 开发一个移动网站,我注意到一些有趣的事情(无论如何对我来说,因为我还是 js 的新手)。在函数内部,您可以仅使用 id 引用元素。

这是我使用的测试代码(在 chrome 22.0.x、firefox 16.0.1 和 safari 5.1.7 上):

<!DOCTYPE html>
<html>
  <head></head>
  <body onload="tt()">
    <div id="abc">Test</div>
    <a id="cba">Test2</a>
  </body>
  <Script>
    function tt() {
        console.log(abc);
        abc.style.backgroundColor = "red";
        return cba;
    }
  </Script>
</html>

没有 getElementById,没有 jquery 选择器,只有 id。一直都是这样吗?如果是这样,这是一个好习惯吗?为什么会这样?我在想函数必须有一个上下文,但它在哪里,是页面吗?

任何见解将不胜感激,谢谢。

4

1 回答 1

6

你真的在做:

window.abc;

这是 IE 开始的东西,实际上是一个糟糕的设计选择。

看到这个非常相似的问题的好答案

它确实是重复的,但标题并没有反映这一点。

在您的控制台中尝试此行以了解我的意思。

(function(){ console.log(this); })(); // logs the Window object
于 2012-10-16T04:00:03.087 回答