1

我有这个包含文本初始化的 xml 文件。

IE

嗨,我的名字是史蒂文

当我添加一个Setinterval以每 10 秒加载一次 xml 文件时,我得到

嗨,我的名字是 stevenHi 我的名字是 stevenHi 我的名字是 stevenHi 我的名字是 steven 这会继续每 10 秒重复一次

这是我的 javascript xml 函数

myLoadInteval = setInterval(Xml, 10000);

function Xml(){ 

$(document).ready(function() {  
                  $.ajax({  
                         type: "GET",  
                         url: "http://www.mobilefriendlywebapps.co.uk/tayloredtest1/note.xml",  
                         dataType: "xml",  
                         success: parseXml  
                         });  
                  function parseXml(xml) {  
                  $(xml).find("menu").each(function() {  
                                           //find each instance of loc in xml file and wrap it in a link 
                                           $("div#site_list").append( $(this).find("cd").text() );  
                                           $("div#treatments").append( $(this).find("cd1").text() ); 
                                           $("div#preparation").append( $(this).find("cd2").text() );
                                           $("div#products").append( $(this).find("cd3").text() );
                                           $("div#info").append( $(this).find("cd4").text() );
                                           $("div#price").append( $(this).find("cd5").text() );
                                           $("div#promo").append( $(this).find("cd6").text() );
                                           });  
                  }  

                  });  

}

如何在加载新的 xml 之前删除旧的 xml?

4

2 回答 2

2

而不是使用 append() 使用 html()

IE

$("div#site_list").html( $(this).find("cd").text() );
于 2012-06-25T20:33:45.903 回答
1

如果我理解正确,您将获得重复的内容,因为您每次都附加到 HTML 元素,而不是先清空它们。如果要替换内容,请执行此操作,而不是追加。所以:

$("div#site_list").append( $(this).find("cd").text() );

...会成为

$("div#site_list").text($(this).find("cd").text());

或者,如果您的 XML 包含受 CData 保护的 HTML 标记,请改用该html()方法。

于 2012-06-25T20:37:10.073 回答