javascript - 查找 HTML 文本并将其替换为 JavaScript

标签 javascript html

使用所见即所得类型的网页创建器,链接到各种数据库以从客户端服务器提取信息。

一个变量用于频率,具有三种可能的输出:MO、YR 或空白。

这是我的一个位置的 HTML(这可以出现多次,只需将 1 换成下一个数字即可)

<span style="font-size:24px;"><strong>$@@1_Price</strong></span><span style="font-size:18px;" class="rateFrequency">@@1_rateFrequency</span>

我希望使用 javascript 将 MO 或 YR 替换为/month 和/year,并且当它填空时什么都不做。

对 javascript 的了解不多,所以不知道从哪里开始。正在思考一些与此相关的事情,但不确定我是否朝着正确的方向前进,或者从这里继续前进

<script>
  window.onload=function change() {
      var frequency = document.getElementsByClassName("rateFrequency");
      if (condition1) {
          block of code to be executed if condition1 is true
      } else if (condition2) {
          block of code to be executed if the condition1 is false and condition2 is true
      } else {
          block of code to be executed if the condition1 is false and condition2 is false
      }
  }
change();
</script>

任何能帮助我前进的事情都会很棒。谢谢!

最佳答案

假设我正确理解了您的要求,无论 HTML 文档中有多少个“rateFrequency”跨度,以下代码都应该可以解决问题。

window.onload = function(e) {

  function changeFreq() {
    var els = document.getElementsByClassName("rateFrequency"),
    len = els.length;
    while (len--){
      els.item(len).innerText = els.item(len).innerText.replace('MO', '/month').replace('YR', '/year');
    }
  }

  changeFreq();
};

这里不需要if。如果跨度中包含的文本是“MO”,则第一个 replace 会将其替换为“/month”,第二个替换不会执行任何操作。如果跨度中包含的文本是“YR”,则第一个 replace 不会执行任何操作,第二个 replace 会将其替换为“/year”。如果范围中的文本不是“MO”或“YR”,则 replace 不会执行任何操作,并且范围中的文本将保持不变。

关于javascript - 查找 HTML 文本并将其替换为 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37708320/

相关文章:

javascript - 使用 JavaScript/CSS3 制作横幅广告的汽车行驶动画

javascript - 跳到 JSON 数组中的下一个对象并填充输入框

css - 防止可变 div 大小移动居中图像

javascript - 如何在水平 View 表中实现scrollIntoView以供见证

javascript - 使用backbone.js通过 'd'从ASMX获取数据

Javascript 传递表单变量

javascript - 我如何解构此 react 组件中的对象状态数组以使用单个字段数据

javascript - 单击按钮时更改按钮的图像背景

php - 为基于 Web 的应用程序实现自动提醒电子邮件功能

JavaScript 动态添加对象的多个属性