2009-11-24 45 views
1

不工作我有一些XMLjQuery的使用HTML()上陣列中IE

<carouselitem name='carouselitem'><flick><pic>/images/test1.jpg</pic><headertext>sdfsdfsdf csfdfsdf</headertext><dek>sdfsfsd sdfsf dsfsfdsfds sdf sdfsfds</dek></flick></carouselitem> 

在DIV包裹着轉盤的一個id。下面的工作正常FF

var carouselarray = $('#carousel carouselitem'); 
    jQuery.each(carouselarray, function(){ 
     var row_to_insert = $(this).html(); 
     carouselxml += row_to_insert; 
    }); 

的row_to_insert VAR得到填補與FF在XML罰款,但在IE和Chrome空。任何幫助將EB讚賞

感謝

回答

0

我認爲你需要使用[名稱= carouselitem]到sepcify你正在尋找的屬性。這段代碼(對我來說)正確地填充了row_to_insert。讓我知道這是你在找什麼。

var carouselxml = ''; 

var carouselarray = $('#carousel [name=carouselitem]'); 
    jQuery.each(carouselarray, function(){ 
      var row_to_insert = $(this).html(); 
      console.log(row_to_insert); 
      carouselxml += row_to_insert; 
    }); 
+0

感謝您的迴應,但事實並非如此。 row_to_insert在FF上得到很好的填充,它只是在IE中,我有問題。切換到[名稱= carouselitem]沒有解決。 – Hache 2009-11-24 19:20:26

+0

我曾經在http://www.stevetucker.co.uk/page-innerxhtml.php遇到過這種情況。你可能想要一個鏡頭。 – ryanday 2009-11-24 19:33:44

1

我相信這是失敗的,因爲你正在創建自定義標籤。如果你看看innerHTML屬性,你會發現它對於IE來說是空白的。要讓IE識別自定義標籤,請檢查:http://ajaxian.com/archives/adding-custom-tags-to-internet-explorer-the-official-way & http://msdn.microsoft.com/en-us/library/ms531076%28VS.85%29.aspx

+0

這工作得很好。定義了自定義字段,並將其拉入。不幸的是,現在IE忽略了2個字段中的CDATA。必須現在解決這個問題 – Hache 2009-11-24 20:16:05

+0

明白了,這對我有效。再次感謝 – Hache 2009-11-24 21:21:23

1

我建議不要插入XML到您的權利HTML,而是把它變成一個文件

carousel.xml

<carousel> 
    <carouselitem name="carouselitem"> 
    ... 

,然後使用jQuery AJAX函數調用它。 IE需要一個解決方法,因爲有一些奇怪的錯誤,它不能正確處理來自本地機器的輸入xml。從服務器它沒有這個問題。

$.ajax({ 
    url: "carousel.xml", 
    dataType: ($.browser.msie) ? "text" : "xml", 
    success: function(data) { 
     var xml; 
     if (typeof data == "string") { 
      xml = new ActiveXObject("Microsoft.XMLDOM"); 
      xml.async = false; 
      xml.loadXML(data); 
     } else { 
      xml = data; 
     } 

     $(xml).find("carouselitem").each(function() { 
      //your code... 
     }); 
    ) 
});