2

我在变量中获取一个 dom 元素,然后将其删除。当我将该变量附加到其他地方的 dom 时,它不会出现在所有版本的 IE 中。而它在 chrome 和 FF 中运行良好

小提琴 - http://jsfiddle.net/NdtNP/

HTML:

<div id="d1" style="color:red">sdjkfk
    <a href="google.com">Click here</a>
    sjlfkj df
</div>
<div id="d2"></div>

JS:

$(function(){
    var a = $("#d1").children("a");
    $("#d1").html("");
    $("#d2").append(a);
});

我怎样才能避免这种情况?

4

3 回答 3

3

使用.detach()

$(function () {
    var a = $("#d1").children("a").detach();
    $("#d1").html("");
    $("#d2").append(a);
});

jsfiddle

于 2013-10-21T14:15:01.130 回答
3

jsFiddle Demo

你应该使用remove. 它将返回元素。

$(function(){
 var a = $("#d1").children("a").remove();
 $("#d1").html("");
 $("#d2").append(a);
});
于 2013-10-21T14:13:03.767 回答
1

为什么不尝试通过像这样切换脚本来在删除之前追加

$(function(){
    var a = $("#d1").children("a");
    $("#d2").append(a);
    $("#d1").html("");
});
于 2013-10-21T14:17:34.040 回答