我有一些看起来像这样的HTML:
<div class="field">
<input type="text" name="name" id="sourcedidSource" value="SYSTEM">SYSTEM
<span class="someClass"></span>
</div>
我需要删除SYSTEM
之后的sourcedidSource
文字,同时保持其他所有内容不变。我尝试了$('.field').text().remove();
,但这也删除了input
和span
元素。我该怎么办?
答案 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();
答案 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();