1

我在 HTML 文件中有一个 div

"<div id="abc" hidden="hidden">
        <div id="statIndicator">
            <span id="imgInd" class="status-indicator-border">
                <img src="../../LibSrc/SharedResources/IMG/loading-trace.gif" />
            </span><span id="messageIndicator">Updating Plots...</span>
        </div>
    </div>"

我使用追加将 statIndicator div 插入另一个 div。这样 div 就变成了

<div id="parentDiv">
 <div id="statIndicator">
                <span id="imgInd" class="status-indicator-border">
                    <img src="../../LibSrc/SharedResources/IMG/loading-trace.gif" />
                </span><span id="messageIndicator">Updating Plots...</span>
            </div>
</div>

刷新时我写 $('#parentDiv').empty() 它会删除“parentDiv”内的任何内容。但是当我尝试使用 $('#statIndicator') 附加 statIndicator 时,它返回“[]”,尽管我在 Html 中有 'statIndicator' div。

有没有办法让我获得'statIndicator' div?

4

3 回答 3

2

$.empty(),删除内容,因此您的“statIndicator”div 根本不存在。

在调用之前将其从“parentDiv”中删除$.empty()。要么将它存储在一个变量中,要么将它放回它开始的地方,在“abc”中。

于 2013-01-15T05:48:32.867 回答
1

我认为 jquery.append() 移动选定的元素而不制作副本。因此,您可以使用 .clone() 方法显式创建一个副本并附加它的结果。就像是:

$('#abc #statIndicator').clone().appendTo('#parentDiv');

这是创建一个副本,然后将其附加到新位置。

一旦你这样做了,就会有两个具有相同 id 的 div,所以最好总是在你的选择器中引用 statIndicator 的父容器。

于 2013-01-15T05:58:36.480 回答
0

如果您只想删除 parentDiv,可以使用 .detach() 函数

于 2013-01-15T05:59:15.817 回答