1

テキストの文字列を別のテキストの文字列に置き換えようとしています ここに私のコードとjsフィドルがあります

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/

4

3 に答える 3

1

要素が1つしかない場合、これは機能します:

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");
    }

どちらの方法でも、元のコードのいくつかの欠陥が修正されます。

まず、 に渡された引数で rating のスペルが間違っていましたgetElementsByClassName。次に、getElementsByClassName()スペースで区切られたクラス名を使用して、複数の引数ではなく、複数のクラスを持つ要素を選択します。GetelementsByClassNameは、反復処理が必要な要素の配列を返します。

JS フィドル: http://jsfiddle.net/sgGQz/5/

于 2013-09-16T09:22:01.320 に答える