【问题标题】:Remove text after input tag删除输入标签后的文本
【发布时间】:2014-01-28 16:13:29
【问题描述】:

我只是想删除输入后的文本,有什么想法吗?

<label class="checkbox">
<input id="forms-element-0-0" name="checkbox[]" value="1" type="checkbox">
remove me
</label>

【问题讨论】:

标签: jquery


【解决方案1】:

我会为此跳过 jQuery,如果它只是 input 的后续文本,并使用:

document.getElementById('forms-element-0-0').nextSibling.nodeValue = '';

JS Fiddle demo.

要删除textNode(而不是简单地将其文本替换为空字符串):

var text = document.getElementById('forms-element-0-0').nextSibling;
text.parentNode.removeChild(text);

JS Fiddle demo.

如果您有一组 label 元素可以使用,我建议:

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

JS Fiddle demo.

参考资料:

【讨论】:

  • 为什么不直接删除节点?
  • 没有特别的原因,我只是假设以后可能需要它。
  • @DavidThomas: 应该是 nodeType 而不是 nodeValue 但否则最后一个应该可以工作。
猜你喜欢
  • 2015-12-02
  • 2016-04-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-10
  • 2015-12-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多