从HTML中删除文本的Javascripts

从HTML中删除文本的Javascripts,javascript,Javascript,我需要一个脚本从我的产品页面中删除一行文本“库存数量:(缺货)”。我试图删除的特定HTML代码是: <span class="PageText_L329n"><strong class="prod_qty_label"> Quantity in Stock </strong></span> : <span style="color:#cc0000;"><span class="StockQu

我需要一个脚本从我的产品页面中删除一行文本“库存数量:(缺货)”。我试图删除的特定HTML代码是:

<span class="PageText_L329n"><strong class="prod_qty_label">
      Quantity in Stock
    </strong></span>
      :
    <span style="color:#cc0000;"><span class="StockQuantity_OutOfStock"></span></span><br></br>
但是我正在努力使它能够在javascript中使用所有HTML标记

在我的分类页面(不同页面)上,我试图从HTML中删除此文本,该文本可能会在页面中多次出现:

<b><font color="#CC0000">
<span class="PageText_L331n">(Out of Stock)</span>
</font></b>

(缺货)
感谢您的帮助

谢谢。

像这个例子吗

<div>
<span class="PageText_L328n"><strong class="prod_qty_label">
      Quantity in Stock 1
    </strong></span>

</div>
<div>
<span class="PageText_L329n"><strong class="prod_qty_label">
      Quantity in Stock 2
    </strong></span>

</div>
<div>
<span class="PageText_L330n"><strong class="prod_qty_label">
      Quantity in Stock 3
    </strong></span>

</div>
<button id="button">Remove</button>

var button = document.getElementById("button");
var PageText_L329n = document.getElementsByClassName("PageText_L329n");

function remove() {
    if (PageText_L329n[0]) {
        PageText_L329n[0].parentNode.removeChild(PageText_L329n[0]);
    }
}

button.addEventListener("click", remove, false);


库存量1


库存量2


库存量3

去除
var button=document.getElementById(“按钮”);
var PageText_L329n=document.getElementsByClassName(“PageText_L329n”);
函数删除(){
如果(PageText_L329n[0]){
PageText_L329n[0].parentNode.removeChild(PageText_L329n[0]);
}
}
按钮。addEventListener(“单击”,删除,错误);

而且,仅仅隐藏它而不是从DOM中删除它就足够了

和清除文本

<b><font color="#CC0000">
<span class="PageText_L331n">(Out of Stock)</span>
</font></b>

<button id="clear">Clear</button>

var button = document.getElementById("clear");

function clearText() {
    document.getElementsByClassName("PageText_L331n")[0].textContent = "";
}

button.addEventListener("click", clearText, false);

(缺货)
清楚的
var按钮=document.getElementById(“清除”);
函数clearText(){
document.getElementsByClassName(“PageText_L331n”)[0]。textContent=“”;
}
按钮。addEventListener(“单击”,明文,假);

上,我建议您不要使用
document.body.innerHTML=document.body.innerHTML.replace('')。我认为处理此问题的最佳方法是循环所有(子)元素,并查看是否有任何文本节点包含此文本。如果是这样,请删除它们为什么不将它放在一个没有任何样式的类的div中,然后
.empty()
该div.--EDIT--然后我注意到这是一个普通的JS问题。您可以将其更改为
document.querySelectorAll().innerHTML=“
或其他内容。我不太清楚正常的JS语法。我认为如果没有一些解决方法,我无法将HTML放入div中。我的电子商务平台不允许我编辑产品/类别页面上的模板。它只允许我在页面中添加代码。下面是一个我想隐藏缺货文本的页面示例:隐藏也可以。这里可以找到一个具体的例子:我只想在“缺货”时隐藏该行。有货时我想把它放在那里。至于第二部分,代码是有效的!但这只是第一次。有没有办法计算类的重复次数,以便创建循环?下面是一个页面示例:这不是您在原始问题“我需要一个脚本从我的产品页面中删除一行文本”Quantity in Stock:(Out of Stock)。我尝试删除的特定HTML代码是:“。因此,您需要搜索文本,当您找到它时,可以删除或隐藏html,如所示。对于元素的节点列表document.queryselectoral(“.classname”),则可以循环节点列表。第一部分不需要循环。它只会出现一次。它是网页中的一行文本,但源文件中引用了多行文本。也许我只是不理解代码。正如我所说,我对Javascript的知识有限。我将花一些时间来剖析您的演示,使其发挥作用。我还将使用document.querySelectorAll(“.classname”)使其在第二部分中也起作用。谢谢通过这样做,我完成了第二部分的工作:for(var I=0;I<b><font color="#CC0000"> <span class="PageText_L331n">(Out of Stock)</span> </font></b> <button id="clear">Clear</button> var button = document.getElementById("clear"); function clearText() { document.getElementsByClassName("PageText_L331n")[0].textContent = ""; } button.addEventListener("click", clearText, false);