0

div の 2 番目のスパンの値を設定するクエリがあります。

<div id="content">
    <h1>Welcome</h1>
    <span>This is the first span</span>
    <span>This is the second span</span>
    <span>This is the 3rd span</span>
    </div>

次のJavaScriptを使用しています。

function SetValue(myValue) {

            var mainDiv = document.getElementById("content");
            for(var i=0;i<mainDiv.childNodes.length;i++) {
               if(mainDiv.childNodes[i] == 2) {
                   mainDiv.childNodes[i].innerText = myValue;
               }


            }
        }

メイン div の 2 番目のスパンに設定するパラメータ値を取得したい

4

5 に答える 5

2

内部SetValueでは、次の 1 行を使用します。

$("#content span:eq(1)").html(myValue);

ループやその他のものは必要ありません。

ドキュメント:eq

この作業のフィドル: http://jsfiddle.net/gromer/dB5vS/3/

于 2012-10-04T16:37:53.947 に答える
1

単に .eq() 関数を使用する

$('#content').find('span').eq(1).text("Your Value");

.eq 関数はインデックス 0 から始まります。

ここにデモ http://jsfiddle.net/Simplybj/n9HLU/2/があります

于 2012-10-04T16:37:50.740 に答える
0

if ステートメントはmainDiv.childNodes[i].tagName == "span"、カウンターをチェックしてインクリメントする必要があり、2番目の . 別の方法として (私の意見では、より良いのですが)、nth-child css セレクターを使用した jQuery の提案がいくつか投稿されています。

于 2012-10-04T16:40:05.017 に答える
0

タグ以外に、JQuery がオプションであり、次のようなものにはまったく必要ないという兆候がないため、この純粋な JS 実装はどうですか。

function SetValue(myValue){
    document.getElementById("content").getElementsByTagName("span")[1].innerText = myValue;
}

http://jsfiddle.net/MTSAN/1/

于 2012-10-04T16:38:22.197 に答える
-1

これは役立つかもしれません:

$(function() {
  $('#content span:nth-child(2)').text('your text');
});​
于 2012-10-04T16:38:25.207 に答える