jQuery:如何删除文本但不删除子元素

我可以用jQuery删除节点中的文本但不删除子元素吗?

谢谢

这是我的想法:

function removeText(element){ var newElement = $('<' + element[0].nodeName + '/>'); for(i=0; i < item.attributes.length; i++) { newElement.attr(item.attributes[i].name, item.attributes[i].value); } element.children().each(function(){ newElement.append(this); }); element.replaceWith(newElement); } 

从某些div删除所有文本元素的最佳和简单的解决方案是

 $("#firstDiv").contents().filter(function(){ return (this.nodeType == 3); }).remove(); 

这对我有用:

 $(elem).html($(elem).html().replace($(elem).text(),'')); 

这设置了没有文本内容的html内容,这意味着elem中的任何html标签都将保持不变。

之前:

 
Hello

后:

 

再见

我更容易为它们设置一个类,在HTML中并在jQuery中使用empty()方法。

你不能这样做。除非被一个元素包裹。

 $('#someElement').text('');