0

jQuery を使用して < p > タグ内のコンテンツを取得したいと考えています。そのため、各プレイヤーの名前に Java 変数を使用できます。jquery コードは、playerN1 をプレイヤー名の代わりに空白文字列として設定します。text() がプレイヤーの名前を取得していないのはなぜだろうと思っていました (< p > タグ内の内容)。

<!-- HTML -->
<div class="match1">
  <div id="m1.p1" class="col3 first last bracket_player1">
    <p class="name">Player1 Name</p>
  </div>
  <div id="m1.p2" class="col3 first last bracket_player2">
    <p class="name">Player2 Name</p></div>
  </div>
</div>
<div class="match2">
  <div id="m2.p1" class="col3 first last bracket_player1">
    <p class="name">Player1 Name</p>
  </div>
  <div id="m2.p2" class="col3 first last bracket_player2">
    <p class="name">Player2 Name</p></div>
  </div>
</div>

 

// The jQuery
for (i = 0; i < 7; i++)
{
   var match = "m" + i;
   var elementID = "#"+match+".p1 "+"p";
   var playerN1 = $(elementID).text();
   console.log(elementID);
   console.log(playerN1);
}
4

4 に答える 4

6

.IDにある ためです。#m1.p1として解釈されID=m1 AND class=p1ます。.2\で)をエスケープする必要があります。

var elementID = "#"+match+"\\.p1 "+"p";

または、[id=""]セレクターを使用します。

var elementID = "[id='"+match+".p1'] "+"p";
于 2012-04-16T20:26:49.380 に答える
2

なぜあなたはこのようにそれらをつかんでいないのですか?

$('p.name').each(function() {
    console.log($(this).text());
});​
于 2012-04-16T20:25:54.370 に答える
2

html()代わりに使ってみるのもいいのですが、IDtext()のに問題がある気がします。.それがIDの有効な文字かどうかはわかりません。

于 2012-04-16T20:26:06.320 に答える
2

クラス'name'の各要素の値を取得するには、それらをループします。

$('.name').each(function(){
    var thisPlayer = this.text();
    console.log(thisPlayer);
});
于 2012-04-16T20:26:43.743 に答える