javascript - 使用 GetElementsByClassName 删除部分文本

标签 javascript replace getelementsbyclassname

我正在尝试使用以下脚本从我正在处理的页面上的所有价格中删除“.00”。 “.00”是由我正在使用的 WP 主题自动内置的。

这是我正在使用的脚本:

<script>
window.onload = function() {
    var str = document.getElementsByClassName("hungry-menu-item-price").innerHTML; 
    var res = str.replace(".00", "");
    document.getElementsByClassName("hungry-menu-item-price").innerHTML = res;
}
</script>

价格的格式如下:

<h4 class="hungry-menu-item-price">$24.00</p>

...但它不起作用。我错过了什么?

最佳答案

getElementsByClassName返回 HTMLCollection 。您必须迭代它:

var elements = document.getElementsByClassName("hungry-menu-item-price");
for(var i=0; i<elements.length; ++i)
  elements[i].textContent = elements[i].textContent.replace(".00", "");
<p class="hungry-menu-item-price">$24.00</p>

关于javascript - 使用 GetElementsByClassName 删除部分文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30263267/

相关文章:

javascript - 如何应用“加载更多”以在 WordPress 模板中获取自定义帖子

替换R中的行值序列

java - Java 如何高效替换 XML 文档中的字符?

javascript - document.querySelectorAll([classname]) 在 IE9 中不工作

javascript - KnockoutJS selectedOptions observableArray 对象在更改事件中为空

Javascript在父窗口关闭时重新建立窗口父/子关系

具有多个主键的mysql REPLACE查询

javascript - getElementsByClassName 返回重复元素

javascript - 在javascript中,我如何在具有相同类的多个div上运行函数以获得不同的结果

javascript - 从 JSON 中删除元素会留下一个未定义的元素