0

XML 入力を受け入れるスクリプトがあり、それを簡単にトラバースできるように JQuery オブジェクトに変換したいと考えています。

これは私が使用するコードです:

var xmlInput = 
'<content>'+
    '<action xsi:type="number">'+
    "123"+
    '</action>'+
'</content>';
var object = $(xmlInput);
alert(object);
alert(object.html());
object.find("action").each(function() {
    var type = $(this).attr("xsi:type");
    alert("action! type="+type);
});

(オンラインで入手可能: http://irsrv2.cs.biu.ac.il:8080/GeniusWeb/jqueryTest.html )

これは、Firefox と Chrome で正常に動作します。

  • 最初のアラートは「オブジェクト」を示し、
  • 2 番目のアラートは、内側の「アクション」要素を示しています。
  • 3 番目のアラートには、「action! type=number」が表示されます。

ただし、MSIE 8 では、これは明らかに機能しません。

  • 最初のアラートは「オブジェクト」を示し、
  • 2 番目のアラートは、空の文字列を示しています。
  • 3 番目のアラートはありません。

コードを IE 8 でも動作させるにはどうすればよいですか?

4

1 に答える 1

1

無効な html を含む HTML フラグメントではなく、xml ドキュメントにします (IE が正しくチョークします)。

var xmlDoc = $.parseXML(xmlstring);

$(xmlDoc).doSomething()
于 2012-10-17T15:27:52.337 に答える