来自xml的jquery html

Posted

技术标签:

【中文标题】来自xml的jquery html【英文标题】:jquery html from xml 【发布时间】:2012-07-21 11:34:11 【问题描述】:

demo。见控制台

让我们假设场景.xml 是一个部分列表

<sections>
  <section>
    <div...
  </section>
  ...
</sections>

preload 是一个预定义的隐藏块。 我正在使用 $.ajax(当然使用 dataType:"xml")加载这个 xml,并尝试获取 html

$(xmlData).find("section").each(function() 
  console.log(preload.empty().append(this).html())
)

除了 7-10 之外,它在任何地方都能完美运行。它抛出:

 DOM Exception: HIERARCHY_REQUEST_ERR (3)
 in jquery.js (1.7.2) on line 6497

PS 当然,我可以用 CDATA 包装每个部分并使用 text() 获取 html。但我想避免这种解决方法,因为每个部分都是有效的 xml 或 html

【问题讨论】:

【参考方案1】:

极其丑陋的解决方法:

preload.empty()
if($.browser.msie) 
  if($.browser.version == "7.0" or $.browser.version == "8.0") 
    preload.append($(xmlData.xml).filter("section"))
   else 
    preload.append($(xmlData.xml).find("section"))
  
 else 
  preload.append($(xmlData).find("section"))

html = preload.html()
preload.empty().html(html)

【讨论】:

【参考方案2】:

如果要解析 XML,请使用 $.parseXML

【讨论】:

请重新阅读问题。我将 $.ajax 与 dataType: "xml" 一起使用,它会自动调用 parseXML。如果您不理解问题 - 请不要在 bugtracker 上关闭错误

以上是关于来自xml的jquery html的主要内容,如果未能解决你的问题,请参考以下文章

分离和附加 divs/html jquery

来自xml的jquery html

如何在 Firefox 中解码来自 jQuery $.ajax 请求的 XML 响应

jQuery快速入门

jquery整理

jQuery 效果 - 淡入淡出