javascript - 替换文本字符串javascript

标签 javascript

我正在尝试将一串文本替换为另一串文本,这里是我的代码加上 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;

演示

http://jsfiddle.net/sgGQz/1/

最佳答案

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/

相关文章:

javascript - jQuery - 丢失对 Ajax 刷新的表单的引用

javascript - AngularJs - 从集合属性设置 ng-model

javascript - 使用ajax通过 anchor 标记onclick事件从mysql获取数据

javascript - 如何从单独的 php 文件 onClick 执行 php 函数

javascript - Angular 使用第一个的结果调用链中的两个 Promise

javascript - 为什么这个简单的 jQuery 不起作用

javascript - 添加一天到 Javascript 日期 + 独特的格式?

javascript - 如何使 javascript 激活 PHP 代码部分(更具体地说包括)

javascript - 如何制作带有水平滚动导航的 magicline 动画?

javascript - JSON.stringify() 数组与 Prototype.js 的奇怪之处