jQuery Selector返回117个元素,但我只期望一个

时间:2013-01-05 05:44:49

标签: jquery html jquery-selectors

我的网站包含以下标记(略有缩短):

<tr data-trackingid="I129102">
  <td><input type="checkbox" class="ActionProduct" data-trackingid="I129102"></td>
  <td><input type="text" value="Estimated 2 drinks"></td>
  <td><input type="text" value="1"></td>
  <td><input type="text" value="1"></td>
  <td><span>1</span></td>
  <td><span>Person</span></td>
  <td><input type="text" value="17.49"></td>
  <td><input type="text" value="17.49"></td>
  <td><input type="text" value="0"></td>
  <td><input type="text" value="17.49"></td>
  <td><input type="text" value="17.49"></td>
  <td><span>12.40</span></td>
  <td><input type="text" value="12.40"></td>
  <td><input type="text" value="0"></td>
  <td><input type="text" value="12.40"></td>
  <td><input type="text" value="12.40"></td>
  <td><input type="text" value="41.03"></td>
  <td><input type="text" value="5.09"></td>
  <td><span style="display: none;"></span></td>
  <td><input type="text" value=""></td>
</tr>

当我将页面加载到Google Chrome并在控制台窗口中输入以下命令时:

$('tr[data-trackingid]="I129102"')

我希望它返回一个单独的元素(具有属性data-trackingid="I129102"的表格行)。但它会返回117个元素的集合,这些元素看起来都是行(<tr>)。

文字&#34; I129102&#34;在整个标记中出现两次,两次都在我上面发布的HTML中。为什么它会返回这么多结果。

注意:我已经在JS Bin Project中发布了此HTML,但如果我尝试在该页面的控制台窗口中键入jQuery,则会出现语法错误。

1 个答案:

答案 0 :(得分:3)

你的选择器无效,我很惊讶它选择了什么。试试这个:

$('tr[data-trackingid="I129102"]')