清除div的文本,但使用jquery 保留子节点
可能重复:
jQuery:如何删除文本但不删除子元素
text of parent
在上面的例子中,我想只清除父div
( parent
)的文本"text of parent"
,保持子节点( child 1
, child2
)不变。 我怎么能用jQuery做到这一点?
尝试
$("#parent").contents().filter(function(){ return (this.nodeType == 3); }).remove();
不要使用jQuery:
var div = document.getElementById("parent"); div.firstChild.data = "";
见http://jsfiddle.net/Q8Bzv/
试试这个:
var $children = $("#parent").children(); $("#parent").html("").append($children);
一般“删除所有子文本节点”function(抱歉,没有jQuery):
function removeTextNodes(el) { var nodes = el.childNodes, i = nodes.length; while (i--) if (nodes[i].nodeType == 3) el.removeChild(nodes[i]); }