我有一些XML
<carouselitem name='carouselitem'><flick><pic>/images/test1.jpg</pic><headertext>sdfsdfsdf csfdfsdf</headertext><dek>sdfsfsd sdfsf dsfsfdsfds sdf sdfsfds</dek></flick></carouselitem>
在DIV中包含id为carousel。以下适用于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中是空的。任何帮助都会受到赞赏
由于
答案 0 :(得分:1)
我认为这是失败的,因为你正在创建自定义标签。如果你看一下innerHTML属性,你会发现它对于IE来说是空白的。要让IE识别自定义标记,请结帐:http://ajaxian.com/archives/adding-custom-tags-to-internet-explorer-the-official-way&amp; http://msdn.microsoft.com/en-us/library/ms531076%28VS.85%29.aspx
答案 1 :(得分: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...
});
)
});
答案 2 :(得分:0)
我认为你需要使用[name = carouselitem]来分离你正在寻找的属性。这段代码(对我来说无论如何)正确填充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;
});