1

少し短くしようとしているので、これを実装する関数を作成しています

Element.prototype.methodName =  function(selector) {
   return this.querySelector(selector);
}

$または他の文字や単語を使用しようとすると問題ありませんが、アンダースコア_が有効な変数名であることを知っているため、アンダースコアが機能していないようです。

Element.prototype._ =  function(selector) {
   return this.querySelector(selector);
}

このように呼ばれます:_('body')

エラーメッセージ:ReferenceError: _ is not defined

4

1 に答える 1

0

次の HTML があるとします。

<div id="foo"></div>

そして、次の JavaScript コード:

var foo = document.getElementById('foo');

Element.prototype._ = function() {
    this.innerHTML = "Bar";
}

foo._();

少なくとも Google Chrome では、すべてが期待どおりに機能します。他のブラウザはテストしていません。このようにして、すべての要素を目的の機能で拡張できます。もちろん、最初に要素を取得する必要があります。つまり、_(); を呼び出します。それでも参照エラーが発生します。_ という名前の関数だけが必要な場合は、次のように記述します。

function _() {
    // do something
}
于 2013-10-07T15:05:59.923 に答える