Если у вас есть только одно вхождение элемента это будет работать:
var str=document.getElementsByClassName("data rating")[0].innerHTML;
var n=str.replace(/\*/g,"star");
document.getElementsByClassName("data rating")[0].innerHTML=n;
Если несколько data rating
элементы существуют использование:
var elems =document.getElementsByClassName("data rating");
for(var i = 0; i < elems.length; i++){
elems[i].innerHTML = elems[i].innerHTML.replace(/\*/g,"star");
}
Бо й метод исправить некоторые недостатки в исходном коде.
Во-первых, рейтинг был опечатан в аргументе, переданном getElementsByClassName
. Во-вторых, getElementsByClassName()
использует имена классов, разделенные пробелами, для выбора элементов с несколькими классами вместо нескольких аргументов. Get elementsByClassName
возвращает массив элементов, которые нужно перебирать.
JS Fiddle:http://jsfiddle.net/sgGQz/5/
'getElements' означает, что вы можете иметь несколько элементов, они находятся в 0 индексированный массив. Выберите один из них перед доступом к 'innerHtml'. – sinsedrix