0

正方形のアイコン(htmlファイルのspan要素のテキスト:■)を矢印のアイコンに置き換えたい:►。これは、メニュー項目の前にあるこのアイコンがそのページIDと一致し、訪問者がこのメニュー項目によって示されるページにいることを認識している場合に発生します。

私は多くの問題を経験してきましたが、これに固執しました。

var newIcon = "►"; // arrow icon
for (var j = 0; j < rightMenuIDs.length; j++){
    var thisID = rightMenuIDs[j];
    var thisSpanIcon = rightMenu[j].children[0].children[0].childNodes[0].nodeValue;
    if(thisID === bodyIDsliced){
        thisSpanIcon = newIcon;
    }
}

console.logで確認したところ、thisSpanIconが矢印アイコンとして更新されたとのことです。しかし、ページには何も変わっていません。replace()や他のメソッドを試しましたが無駄になりました。

これを行うためのより良い/正しい方法がある場合、誰かが私に横たわることができますか?

ありがとう!

4

2 に答える 2

1

あなたが言う時:

thisSpanIcon = newIcon;

プロパティ(およびノー​​ド)自体を変更するのではなく、ノードの既存のプロパティのコピーthisSpanIconを含むローカル変数を上書きするだけです。nodeValue

試す:

var thisSpanNode = rightMenu[j].children[0].children[0].childNodes[0];
if (thisID === bodyIDsliced) {
    thisSpanNode.nodeValue = newIcon;
}

代わりに、ノードの実際のプロパティを変更する必要があります。

また、文字列にはHTMLエンティティの代わりにUnicode形式を使用する必要があることに注意してください\u25ba

于 2013-03-26T21:59:23.997 に答える
-1

elem.innerHTML要素/ノードのテキストを操作するかelem.innerText、更新する必要があります。(小さな例

また、要素を選択するいくつかの最新の方法を検索します。

于 2013-03-26T21:58:45.747 に答える