2017-02-03 5 views
1

私はこのコード行を持っていますが、Internet Explorerは「削除」機能を認識していないようです。Internet Explorerで選択したオプションのインデックスを削除しています

this.options [this.selectedIndex] .remove();

エラーは「オブジェクトが削除機能をサポートしていません」と言っていますが、これはIEでどのように行うのですか?

注:これは、select要素を=とそれが動作の両方のFirefoxとChromeで

+0

これを参照してください:http://stackoverflow.com/questions/20428877/javascript-remove-doesnt-work-in-ie –

答えて

1

IEが.remove()をサポートしていない、あなたは以下のようにelement.parentNode.removeChild(element)またはポリフィルを使用する必要があります。参照:

https://developer.mozilla.org/en-US/docs/Web/API/ChildNode/remove

// from:https://github.com/jserz/js_piece/blob/master/DOM/ChildNode/remove()/remove().md 
    (function (arr) { 
     arr.forEach(function (item) { 
      item.remove = item.remove || function() { 
       this.parentNode.removeChild(this); 
      }; 
     }); 
    })([Element.prototype, CharacterData.prototype, DocumentType.prototype]); 
0

IEがJavaScriptで削除を()をサポートしていません。 jQueryでのみ。

あなたはメソッド削除呼び出して、あなたのコードの上に、この次のコードを入れて、JavaScriptでのremove()を使用する場合:

// Create remove function if not exist 
    if (!('remove' in Element.prototype)) { 
    Element.prototype.remove = function() { 
    if (this.parentNode) { 
     this.parentNode.removeChild(this); 
    } 
}; 
} 
// Call remove() according to your need 
myVar.remove(); 

詳細情報のremoveChild()上:https://developer.mozilla.org/en-US/docs/Web/API/ChildNode/remove

ハッピーコーディングを! :)

関連する問題