You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用JavaScript或jQuery删除含span兄弟元素的div文本节点最后字符

解决方案

需求场景

现有HTML结构如下:

<div id="textarea">
abcd
<span id="cursor"></span>
</div>

需要删除#textarea元素中文本节点的最后一个字符d,同时保留兄弟节点<span id="cursor"></span>。


原生JavaScript实现

通过获取目标div的子节点,筛选出有效文本节点后修改其内容:

const textareaDiv = document.getElementById('textarea');
// 遍历div的所有子节点
for (const node of textareaDiv.childNodes) {
  // 匹配非空的文本节点
  if (node.nodeType === Node.TEXT_NODE && node.nodeValue.trim()) {
    // 移除文本节点的最后一个字符
    node.nodeValue = node.nodeValue.slice(0, -1);
    break; // 找到目标节点后停止遍历
  }
}

jQuery实现

利用jQuery的contents()方法获取所有子节点,筛选后修改文本内容:

$('#textarea').contents().filter(function() {
  // 筛选出非空的文本节点
  return this.nodeType === Node.TEXT_NODE && $.trim(this.nodeValue);
}).each(function() {
  // 移除最后一个字符
  this.nodeValue = this.nodeValue.slice(0, -1);
});

内容的提问来源于stack exchange,提问作者Pritesh Vikram

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 20:57:08