示例代码:
jQueryElement.append(jQueryOtherElement.remove("#some-selector"))
这会复制我的元素并附加它还是会实际使用DOM对象?
基本上,我想知道上面的代码是否正在使用innerHTML,如果是这样,有没有办法(在jQuery中?)在从其他位置删除DOM节点后附加它们。
答案 0 :(得分:3)
它实际上将使用.remove()
调用删除的DOM对象 - 它不使用innerHTML,而是使用实际的DOM节点。无需复制,因为之前的DOM对象已从DOM中删除并可以插入。
如果查看jQuery 1.7代码,remove函数会在内部调用:
elem.parentNode.removeChild( elem )
只是从DOM中删除节点。这些节点都保留在jQuery对象中,因此当您在该jQuery对象上调用append时,它们仍然可以直接附加任何副本或转换。
答案 1 :(得分:0)
是的,它将使用DOM对象。它们仍然存在,只是不在另一个元素中。 jQuery对象不是魔术:)