Javascript 删除两个div之间的单个字符

Javascript 删除两个div之间的单个字符,javascript,jquery,dom,Javascript,Jquery,Dom,我有一个讨厌的小角色夹在两个角色之间: <div id="someID1">stuff</div>x<div id="someID2">more stuff</div> 有没有办法把那两个div之间的“x”去掉? 这是永久性修复生效之前的临时修复:-如果您想通过JS快速修复,请尝试: document.getElementById('someID1').nextSibling.nodeValue= ''; 或 PSL的解决方案还可以,但可能有点

我有一个讨厌的小角色夹在两个角色之间:

<div id="someID1">stuff</div>x<div id="someID2">more stuff</div>
有没有办法把那两个div之间的“x”去掉?
这是永久性修复生效之前的临时修复:-

如果您想通过JS快速修复,请尝试:

document.getElementById('someID1').nextSibling.nodeValue= '';


PSL的解决方案还可以,但可能有点具体。您最好测试节点并删除所有文本节点,直到下一个元素,例如:

function clearSiblingTextNodes(id) {
  var el = document.getElementById(id);

  while (el.nextSibling && el.nextSibling.nodeType == 3) {
    el.parentNode.removeChild(el.nextSibling);
  }
}

是什么阻止您简单地编辑HTML文件并删除字符?它是由某种web语言PHP、JSP、ASP、Python等生成的,也显示该代码。已经这样做了,但我暂时需要一个快速修复,在服务器端发生更改之前,这是一个很长的故事:-将,但它应该是一个字符串,所以空字符串似乎更合适。@RobG我认为将nodevalue设置为null应该没有任何问题。这样做了,但使用了而不是null,原来ie8显示为“null”,但行为正确:-非常感谢。@vector that's RobG:ie8 to the rescue…:-嗯。起初我想到了这种方法,但后来OP想要的只是一个快速解决方案,因为他已经在服务器上解决了这个问题,所以不必费心测试nodetype…:
function clearSiblingTextNodes(id) {
  var el = document.getElementById(id);

  while (el.nextSibling && el.nextSibling.nodeType == 3) {
    el.parentNode.removeChild(el.nextSibling);
  }
}