jquery 如何删除文本而不删除子元素?

yhxst69z  于 2024-01-07  发布在  jQuery
关注(0)|答案(6)|浏览(191)

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

huwehgph

huwehgph1#

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

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

字符串

vmdwslir

vmdwslir2#

这对我来说很有效:

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

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

  1. <div>Hello<input type="text" name="username" value="world!"/></div>


之后:

  1. <div><input type="text" name="username" value="world!"/></div>


再见

展开查看全部
ar5n3qh5

ar5n3qh53#

我的想法是

  1. function removeText(element){
  2. var newElement = $('<' + element[0].nodeName + '/>');
  3. for(i=0; i < item.attributes.length; i++) {
  4. newElement.attr(item.attributes[i].name, item.attributes[i].value);
  5. }
  6. element.children().each(function(){
  7. newElement.append(this);
  8. });
  9. element.replaceWith(newElement);
  10. }

字符串

ccgok5k5

ccgok5k54#

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

ni65a41a

ni65a41a5#

你不能这样做。除非它被一个元素 Package 。

t2a7ltrp

t2a7ltrp6#

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

字符串

相关问题