document.createElement()の使い方と注意点(ffでは非対応)_javascriptスキル

WBOY
リリース: 2016-05-16 17:40:39
オリジナル
1125 人が閲覧しました

今日は、IE と FF の間の日付ピッカーの互換性の問題に対処しました。この状況では、要素を作成するメソッドである document.createElement() のエラーを見つけるのに時間がかかりました。 js. このメソッドは、IE

でのこのような要素の作成をサポートします。

コードをコピーします コードは次のとおりです:

var inputObj = document.createElement
("");

しかし、この状況は ff では互換性がありません。
また、入力要素の作成には特に注意してください。チェックボックス、ラジオ、送信、リセットなど、入力に関連する要素が多数あるため、入力の作成は非常に特殊な使用法になります。

さまざまな入力を作成する正しい方法は次のとおりです:

コードをコピーします コードは次のとおりです:


<スクリプトタイプ="text/javascript">


Netscape、Opera、Firefox では、入力の場合、e.type は appendChild の前または後ろに置くことができます。ただし、IE では、type 属性が最初に来て、他の属性が後に来る必要があります。

要素を作成するときの IE のもう 1 つの機能は、要素を属性と一緒に作成できることです。例: var e = document.createElement(" "); これは他のブラウザでは動作しないため、弊社でもサポートしていません。

概要:

•非入力要素の場合、各ブラウザーで、要素属性への変更は、表示要素 (insertBefore または appendChild) の前または後に書き込むことができます。
・input要素については、IEとの互換性を持たせるため、type属性をdisplay要素(insertBeforeまたはappendChild)の前に記述し、その他の属性をその後に記述します。
推奨:

•input要素のtype属性を除き、display要素(insertBeforeまたはappendChild)の前に記述され、その他の属性は表示要素の後に記述されます。
• 属性を変更する場合、表示要素(insertBeforeまたはappendChild)より前に記述する場合はcreateElementの戻り値を、表示要素より後に記述する場合はinsertBeforeまたはappendChildの戻り値を使用します。

コードをコピーします コードは次のとおりです:

1.var echkbox=document.createElement("入力"); 2.echkbox.setAttribute("タイプ","チェックボックス"); 3.echkbox.setAttribute("id","inputid"); 4.echkbox.setAttribute("名前","入力名"); 5.echkbox.setAttribute("値","入力値"); 6.var addhere=document.getElementById("someElementId"); 7.addhere.appendChild(echkbox); 8.echkbox.setAttribute("チェック済み","チェック済み"); 9.alert(document.getElementById("inputid").checked);