使用jQuery动态地将一个div添加到另一个div中

3
假设我有以下DIV:
<div id="myDiv" style="display:none" title=""></div>

我有一个ajax调用,使用HTML标记将标记附加到这个div中。
$("#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,然后添加到其中即可。 - Klaus Byskov Pedersen
你想要一个永久隐藏的内容,并且每次替换它的后续兄弟元素吗? - Riccardo Galli
使用我正在使用的代码,我已经添加了myDiv的一个子节点。我想在这个子节点之前再添加另一个myDiv的子节点。 - Lorenzo
@Riccardo Galli:是的,那个是我可以遵循的替代方案。 - Lorenzo
2个回答

5

由于.html()会覆盖掉原有内容,所以没有必要使用.html('')

这将首先设置隐藏的内容,然后使用.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()之前先使用.empty()来清空。

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

好的。我要试一下。我只是想解决这里描述的问题:https://dev59.com/RVHTa4cB1Zd3GeqPVNyk 你能看一下吗? - Lorenzo

1
$("#myDiv").html('').append(something).append(somethingElse);

或者如果您想按相反的顺序执行,则使用prepend()


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接