我正在尝试将一串文本替换为另一串文本,这里是我的代码加上 js fiddle
HTML
<div class="label">Rating:</div>
<div class="data rating">****</div>
Javascript
var str=document.getElementsByClassName("data" ,"raiting").innerHTML;
var n=str.replace(/\*/g,"star");
document.getElementsByClassName("data", "raiting").innerHTML=n;
演示
最佳答案
document.getElementsByClassName()顾名思义,该方法返回一个元素集合 ( HTMLCollection ),而不是单个元素 - 即使在 DOM 中只有一个具有给定类名的元素。
为了进行这样的替换,您需要仔细检查每一个。例如:
var elements = document.getElementsByClassName("data rating");
for (var i = 0, l = elements.length; i < l; i++) {
elements[i].innerHTML = elements[i].innerHTML.replace(/\*/g, 'star');
}
JSFiddle .
或者,如果你确定应该只有一个元素,你可以直接分配它:
var elementToAdjust = document.getElementsByClassName("data rating")[0];
// ...
关于javascript - 替换文本字符串javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18824371/