删除字符串的一部分(Javascript)

delete a part of a string (Javascript)

本文关键字:Javascript 一部分 字符串 删除      更新时间:2023-09-26

我试图删除文本的一部分,如果我按下一个按钮

我所做的:

<div "topbar">
    hey there! <div class="close" id="topbar_search_close">remove this button</div>
</div>

和javascript:

document.getElementById("topbar").innerHTML -= '<div class="close" id="topbar_search_close">&times;</div><div class="search_main">';

有其他选择吗?谢谢你!

这将从元素中删除所有的子节点。

document.getElementById("topbar").empty();

如果你想改变文本并且你知道文本是什么

document.getElementById("topbar").text = "some new text";

如果是不同的东西,那么请更具体地说明你想要什么

要删除字符串的一部分,可以使用String.prototype.replace,如下所示:

window.onload = function() {
  document.getElementById('topbar_search_close').addEventListener('click', function(e) {
    var topbar = document.getElementById('topbar');
    topbar.innerHTML = topbar.innerHTML.replace('<div class="close" id="topbar_search_close">remove this button</div>', '');
  });
}
<div id="topbar">
  hey there!
  <div class="close" id="topbar_search_close">remove this button</div>
</div>

但这是一个坏主意,以删除DOM节点。您可以简单地像这样删除它:

window.onload = function() {
  document.getElementById('topbar_search_close').addEventListener('click', function(e) {
    var node = e.target; //topbar_search_close
    node.parentNode.removeChild(node);
  });
}
<div id="topbar">
  hey there!
  <div class="close" id="topbar_search_close">remove this button</div>
</div>