使用所见即所得类型的网页创建器,链接到各种数据库以从客户端服务器提取信息。
一个变量用于频率,具有三种可能的输出: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/