ホームページ >ウェブフロントエンド >jsチュートリアル >IE と FireFox の間の JavaScript 互換性問題の解決策_javascript のヒント
開発中に私が遭遇したものは次のとおりです:
1. テーブル内の行を動的に削除します。
table: テーブルオブジェクトを表します。
k: 行番号を表します
table.rows[k].removeNode(true); //Firefox の実行は失敗しました、つまり実行は成功しました
IE および FireFox 互換の書き込み
table.deleteRow(k);
2. HTML タグの属性をカスタマイズします。
inputElement: フォーム要素を表します。
propertyName: フォーム要素
の下にある特定のプロパティを表します。inputElement.propertyName; //Firefox の実行は失敗しました、つまり実行は成功しました
IE、FireFox互換の書き込み方法
document.getElementById("txtInput").attributes["idvalue"].nodeValue
3. 指定された位置に HTML 要素を挿入します。
inputElement: フォーム要素を表します。
vDiv: 挿入される HTML 要素を表します。
inputElement.insertAdjacentElement("AfterEnd",vDiv);//Firefox の実行は失敗しました、つまり実行は成功しました
IE および FireFox 互換の書き込み
Firefox ではこのメソッドの定義がないため、このメソッドを呼び出す必要がある場合は自分で再定義する必要があります。
IE で for ループ ステートメントを実行する場合、break を使用して現在のループから抜け出すことができます。しかし、FFではループ全体から抜けることになります。現時点では、代わりに continue ステートメントを使用してください。
5. Firefox は、文字列に無効な文字が含まれていると報告します。
var chkBox=document.createElement('') //IE で正常に実行されました
IE および FireFox 互換の書き込み
Firefox はこの createElement の定義方法をサポートしていないため、段階的に行う必要があります:
chkBox.value = key;
IE と FireFox 互換の書き込み
var today = new date();
var year = today.get Year();
Firefox では、get Year は「現在の年 - 1900」の値を返します。
いつ、今日、いつ2000年未満であればFirefoxと同じです。したがって、
IE と FireFox 互換の書き込み