Javascript 将其与getelement一起使用

Javascript 将其与getelement一起使用,javascript,Javascript,我看到一些来自Google Chrome扩展的代码,它调用getElement,而不是使用文档: var item = this; item.getElement('referrer').onclick = function() { chrome.tabs.create({url: item.referrer}); return false; }; item.getElement('by-ext').onclick = function() { chrome.tabs.

我看到一些来自Google Chrome扩展的代码,它调用
getElement
,而不是使用文档:

var item = this;
item.getElement('referrer').onclick = function() {
    chrome.tabs.create({url: item.referrer});
    return false;
};

item.getElement('by-ext').onclick = function() {
    chrome.tabs.create({url: 'chrome://extensions#' + item.byExtensionId});
    return false;
}
当我在浏览器中使用示例脚本时,如

this.getElementById('anelement').innerHTML='something'

它给出了错误,但不起作用


谁能告诉我为什么会这样?上述方法只能与Google Chrome extensions一起使用吗?

您可以看看“this”关键字在做什么。下面是关于java脚本这个关键字的好文档


在本例中,“this”指的是“window”对象。

getElementById
仅在
文档中定义,而不是在任何
HTMLElement
或任何其他对象中定义。 您只需查阅位于的文档即可轻松验证这一点

请注意,这不同于
getElementsByClassName
等,它可以在任何DOM元素上调用,并在其下方查找匹配项


this.getElementById
失败的原因与
this.boo
失败的原因相同——您的
this
变量上没有定义
getElementById
属性/方法(除非它等于
document
).

您应该有一个id为的令人兴奋的元素anelement@hamism我只是想知道这可以用在getElementById('anelement').innerHTML的前面吗???当我在getElementById之前添加这个时会出错什么样的错误?未定义或语法错误还是什么?我只是想知道这可以在getElementById('anelement')前面使用吗.innerHTML???.getelementbyid之前添加此项时出错–请参阅,当我使用此getelement ById前面的项时,未获得输出。我的问题是,在任何情况下,我们是否可以将此项添加到getelementbyid前面请再次阅读我的答案。为什么要在意呢?只需使用
document.getElementById
?不,你不能使用
这个
,这是我的答案。为什么您一直想使用
this
调用
getElementById
?好奇心如果您花时间学习如何打开控制台并在那里查看输出,您将看到一条信息更丰富的错误消息,说明
undefined不是一个函数或类似的东西。这是因为它试图调用
getElementById
,它是
未定义的
,因为正如我所说的,它不在
这个
所指向的对象上……但是我在chrome扩展代码中看到了在getelement by id之前使用它的代码。
getElementbyId
getelement
是完全不同的。我甚至不知道什么是
getElement
。如果要通过元素ID获取元素,请调用
document.getElementById(elt_name)
,句号,句号。我不知道别人的代码用一种我从未听说过的方法在做什么。