【问题标题】:How to convert existing html to ajax without affecting the html dom level?如何在不影响 html dom 级别的情况下将现有的 html 转换为 ajax?
【发布时间】:2013-06-18 17:13:33
【问题描述】:

首先,我很抱歉我的英语不好。

我正在尝试更新一个 html 页面。我想减少html文件中的内容并通过ajax(使用jQuery)在运行时导入内容。 现有HTML的结构如下

<div class="outermost">
  <h1>Heading</h1>
  <div class="inner">
     Content
  </div>
  <div class="inner">
     Content
  </div>
</div>

<div class="outermost">
  <h1>Heading</h1>
  <div class="inner">
// repeat and repeat

我想做的是, 删除所有div.inner 并在运行时将内容导入&lt;/h1&gt;&lt;/div&gt; 之间的位置。 即

<div class="outermost">
  <h1>Heading</h1>

  // Content insert here

</div>

由于jQuery文件中使用了大量的html DOM级别代码(例如.parent()/.children()),我不想通过创建新的div来插入内容,这会影响DOM级别当前的 HTML 文件,以便通过 AJAX 获取内容。

其中一个解决方案是更新div.outermost,但我不想重新加载标题。还有其他方法可以实现我的目标吗?谢谢。

【问题讨论】:

  • 阅读$.load() function here 上的加载页面片段部分
  • 我已经读过了,但在我所说的情况下,它似乎没有提供任何解决问题的方法。

标签: html ajax jquery dom


【解决方案1】:

你需要after() (docs here)

//remove the div
$('div.inner').remove();
//get the data using ajax
$.ajax({
     url:getUrl,
     data: getData,
     dataType: 'html'
     success: function(html) {
          //put html AFTER h1
          $('div.ourtermost h1').after(html);
      }
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-02-09
    • 2015-05-16
    • 2011-11-20
    • 2012-02-08
    • 2011-03-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多