我正在使用jQuery UI的Dialog。为了非常好地将窗口包裹在我的内容周围,我必须首先在2个空嵌套div(<div><div></div></div>
)上加载对话框。然后,在打开Dialog后,我用对话框填充Dialog。我花了很多时间......这不是这个问题的关键所在。请不要建议替代这种机制。
我的问题只是我需要在网页中显示html,如下所示:
<div id="mydialog">
<form>
<label for="name">My name:</label>
<input type="text" id="name" name="name"/>
</form>
</div>
但是,我想在网页上隐藏上面的html。所以我将css设置为display: none;
。然后,我在对话框的内部div处执行。append($('#mydialog')).children().css('display', 'block');
。
我的问题是......如何从网页中删除html?通过执行jQuery追加,我不是在制作完整的副本吗?我遇到了性能问题因为我有很多这些问题。而不是.append(),我应该做$('#mydialog').moveTo('#innerDivOfDialog');
之类的事情吗?我应该对原始隐藏的html进行$('#mydialog').removeFromWebpage();
吗?是否有一个jQuery方法执行removeFromWebpage()?这里有什么正确的机制?
答案 0 :(得分:0)
您可以从DOM中删除这些元素(不是静态的HTML,一旦客户端收到它,但这实际上只是您所谓的事情的问题),您只需要调用{{1}移动项目之前,将其附加到您想要的位置。
.detach()
答案 1 :(得分:0)
我们还可以在页面上选择一个元素并将其插入另一个元素:
$('.container').append($('h2'));
如果以这种方式选择的元素插入其他地方,它将被移动到目标
中
所以,它正在被移动,而不是复制。
如果您仍然对移除感兴趣,请参阅jQuery remove