使用jquery从DOM中获取文本?

LF4*_*LF4 0 jquery dom

我想使用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>
Run Code Online (Sandbox Code Playgroud)

 

// 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);
}
Run Code Online (Sandbox Code Playgroud)

Roc*_*mat 6

这是因为.身份证. #m1.p1被解释为ID=m1 AND class=p1.你需要逃脱.(2 \).

var elementID = "#"+match+"\\.p1 "+"p";
Run Code Online (Sandbox Code Playgroud)

或者使用[id=""]选择器.

var elementID = "[id='"+match+".p1'] "+"p";
Run Code Online (Sandbox Code Playgroud)