我想删除一个div元素,但不包括其子代。例如,假设我有一个带有id为wrapper的div,里面有5个段落。
我只想删除wrapper div,但是保留段落。我尝试了remove()和detach()方法,但它们都会清除内部元素。
有什么建议吗?
我只想删除wrapper div,但是保留段落。我尝试了remove()和detach()方法,但它们都会清除内部元素。
有什么建议吗?
http://api.jquery.com/unwrap/ 应该可以解决这个问题:
.unwrap()
方法会移除元素的父节点。这个方法实际上是.wrap()
方法的相反操作。匹配到的元素(以及它们的兄弟元素,如果有的话)会替换它们的父节点在 DOM 结构中的位置...
$('#element').contents().unwrap();
.unwrap()
不会做任何事情(如果您将“parent”用作选择器)。 - Roko C. Buljan查看 .replaceWith()
。
$('#theDiv').replaceWith($('#theDiv').contents());
$('#yourdivIDtoremove').replaceWith($(this).text());
应该这么做 ;)
replaceWith
的答案。 - Robert Harveytext()
会清除HTML标签。 - charlietfl