【问题标题】:Dynamically adding a div to another one using jQuery使用 jQuery 将 div 动态添加到另一个
【发布时间】:2011-05-09 13:49:37
【问题描述】:

假设我有以下 DIV

<div id="myDiv" style="display:none" title=""></div>

我有一个使用

将 HTML 标记附加到该 div 的 ajax 调用
$("#myDiv").html('').html(response);

我想在响应内容之前将隐藏内容附加到主 div 中,因此结果将是

<div id="myDiv" style="display:none" title="">
    //my hidden content
    //here there will be the response HTML markup    
</div>

我如何使用 jQuery 代码来做到这一点?

【问题讨论】:

  • 只需在隐藏内容后添加另一个 div 并添加到其中?
  • 你想拥有一个永久隐藏的内容并且每次替换他下面的兄弟姐妹吗?
  • 使用我使用的代码,我添加了一个myDiv 的子节点。我想在那个之前添加myDiv 的另一个子节点
  • @Riccardo Galli:是的,这是我可以遵循的替代方案

标签: jquery dom-manipulation


【解决方案1】:
$("#myDiv").html('').append(something).append(somethingElse);

prepend(),如果你想以相反的顺序进行。

【讨论】:

    【解决方案2】:

    既然.html() 反正会覆盖,那真的没必要做.html('')

    这将首先设置隐藏内容,然后will .append()响应。

    $("#myDiv").html('<span class="hidden">somehiddencontent</span>')
               .append(response);
    

    CSS

    span.hidden { display:none; }
    

    你也可以一次性完成:

    $("#myDiv").html('<span class="hidden">somehiddencontent</span>' + response);
    

    如果有任何机会在#myDiv 中存在 jQuery 管理的数据,那么在.html() 之前使用use .empty() 会更安全。

    $("#myDiv").empty()
               .html('<span class="hidden">somehiddencontent</span>' + response);
    

    【讨论】:

    • 好。我要试试。我试图这样做只是为了解决这里描述的问题:http://stackoverflow.com/questions/4172511/jquery-generic-code 你能看看吗?
    猜你喜欢
    • 2012-11-24
    • 1970-01-01
    • 1970-01-01
    • 2012-11-02
    • 1970-01-01
    • 2014-03-06
    • 2014-03-15
    • 2016-07-22
    • 2015-08-10
    相关资源
    最近更新 更多