删除没有自己元素的文本

时间:2016-01-08 15:58:55

标签: jquery html text

我有一些看起来像这样的HTML:

<div class="field">
    <input type="text" name="name" id="sourcedidSource" value="SYSTEM">SYSTEM
    <span class="someClass"></span>
</div>

我需要删除SYSTEM之后的sourcedidSource文字,同时保持其他所有内容不变。我尝试了$('.field').text().remove();,但这也删除了inputspan元素。我该怎么办?

4 个答案:

答案 0 :(得分:3)

使用没有jQuery的textnodes实际上要容易得多

python

或者时髦的jQuery版

var node = document.getElementById('sourcedidSource').nextSibling;
node.parentNode.removeChild(node);

答案 1 :(得分:2)

您可以使用contents()filter()来获取textNode.field中的remove()。试试这个:

$('.field').contents().filter(function() {
    return this.nodeType == 3;
}).remove();

Example fiddle

答案 2 :(得分:0)

而不是$('.field').text().remove();

执行$('#sourcedidSource').text('')$('#sourcedidSource').text().remove()

这将定位您拥有的特定输入字段,并将文本内容设置为空字符串''

答案 3 :(得分:0)

有你的解决方案:https://jsfiddle.net/yuswddpg/

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