カスタムプロパティでカスタムオブジェクトを使用してHTMLElementインターフェイスを拡張したいと考えています。それも可能ですか?クラスでHTMLElementインターフェイスを拡張する
if (typeof HTMLElement.prototype.classList === "undefined") {
HTMLElement.prototype.classList = function ClassList() { return this.className.split(' '); };
HTMLElement.classList.prototype.add = function(name) {
if (classList.indexOf(name) !== -1) {
return;
}
classList[classList.length] = name;
this.className = classList.join(' ');
};
HTMLElement.classList.prototype.remove = function(name) {
var index = classList.indexOf(name);
if (index !== -1) {
this.className = classList.splice(index + 1, 1).join(' ');
}
}
}
は、これはあなたに私が必要なものについて良いアイデアを与える必要があります。
これは私が持っているものです。
IE9用に独自の機能を実装したいと考えています。 IEでは、これが定義されず、エラーが発生します。
これを実装する簡単な方法はありますか?
EDIT
私はしばらくの間、これで周りいじるしてきたが、私の知識が起こっている正確に理解するためにはまだ十分ではありません。私はまだdocument.getElementById('whatever').classList()
に電話して "未定義"を避けなければなりません。私は中括弧なしでclassListを呼び出すことができるのが大好きです(ブラウザがclassListをサポートしていない場合)
あなたは 'classlist'をチェックしていますが、' classList'を実装しています。それらは同じではありません。 – Xufox
右...それはちょうどタイプミスだった、元の質問はthoのままです:) – DerpyNerd