jQuery 1.9.1 を使用して、以下のような XML を作成します。チェックされているページ上のチェックボックスの配列内の項目から構築されます。XML 構造は次のとおりです。
<MyXML>
<Msg>This is a test message.</Msg>
<MsgTime>2013-10-15 08:30:00.000</MsgTime>
<Locations>
<Location>Panel1</Location>
<Location>Panel2</Location>
<Location>Panel3</Location>
</Locations>
</MyXML>
送信ボタンがクリックされると、チェックされたすべてのチェックボックスが配列にプッシュされ、ループして<Location>
XML ノードを作成します。その配列をループする直前にLocation
、XML に存在するものを見つけて削除します。
zXML.find("Location").remove();
for (var d=0; d < msgArr.length; d= d+ 1) {
var tmpLocNode = "<Location>" + msgArr[d].locID + "</Location>";
zXML.find("Locations").append( tmpLocNode );
}
FF では、上記のコードはうまく機能します。
ただし、IE8 では、for ループの最後の行:
zXML.find("Locations").append( tmpLocNode );
「オブジェクトはこのプロパティまたはメソッドをサポートしていません」というエラーをスローし、jquery.js モジュールの 6470 行目で停止します。その行は次のとおりです。
tmp.innerHTML = wrap[1] + elem.replace( rxhtmlTag, "<$1></$2>" ) + wrap[2];
jquery モジュールの のELSE
部分にあります。// Convert html into DOM nodes
問題が何であるか考えていますか?IE8 が XML を好まないのではないかと思いますが、この問題を解決する方法がわかりません。私がやっていることをより良い方法で行うためのフィードバックや考えをいただければ幸いです。
ありがとう!