我试图缩短一些事情,所以我正在制作实现这个的功能
Element.prototype.methodName = function(selector) {
return this.querySelector(selector);
}
当我尝试使用$
或其他字母或单词时,没关系,但看起来下划线不能使用它,因为知道下划线_
是有效的变量名。
Element.prototype._ = function(selector) {
return this.querySelector(selector);
}
这样称呼:_('body')
错误消息:ReferenceError: _ is not defined
答案 0 :(得分:0)
假设您有以下HTML:
<div id="foo"></div>
以下JavaScript代码:
var foo = document.getElementById('foo');
Element.prototype._ = function() {
this.innerHTML = "Bar";
}
foo._();
正如预期的那样,Everthing工作得很好,至少在Google Chrome中是这样。我没有测试任何其他浏览器。这样,您可以使用所需的功能扩展所有元素。当然你需要先获取一个元素,一个对_()的调用;仍然给出参考错误。如果你只想要一个名为_的函数,你会写:
function _() {
// do something
}