我可以用jQuery只删除节点中的文本而不删除子元素吗?谢谢
huwehgph1#
从某些div中删除所有文本元素的最佳简单解决方案是
$("#firstDiv").contents().filter(function(){ return (this.nodeType == 3); }).remove();
字符串
vmdwslir2#
这对我来说很有效:
$(elem).html($(elem).html().replace($(elem).text(),''));
字符串这设置了html内容而没有文本内容,这意味着elem中的任何html标签都将保持不变。之前:
<div>Hello<input type="text" name="username" value="world!"/></div>
型之后:
<div><input type="text" name="username" value="world!"/></div>
型再见
ar5n3qh53#
我的想法是
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); }
ccgok5k54#
对我来说,在HTML中为它们设置一个类并在jQuery中使用empty()方法更容易。
ni65a41a5#
你不能这样做。除非它被一个元素 Package 。
t2a7ltrp6#
$('#someElement').text('');
6条答案
按热度按时间huwehgph1#
从某些div中删除所有文本元素的最佳简单解决方案是
字符串
vmdwslir2#
这对我来说很有效:
字符串
这设置了html内容而没有文本内容,这意味着elem中的任何html标签都将保持不变。
之前:
型
之后:
型
再见
ar5n3qh53#
我的想法是
字符串
ccgok5k54#
对我来说,在HTML中为它们设置一个类并在jQuery中使用empty()方法更容易。
ni65a41a5#
你不能这样做。除非它被一个元素 Package 。
t2a7ltrp6#
字符串