【问题标题】:jquery html from xml来自xml的jquery html
【发布时间】: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

【问题讨论】:

    标签: jquery html xml ajax dom


    【解决方案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 上关闭错误
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-01-02
      • 1970-01-01
      • 1970-01-01
      • 2013-01-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多