jQuery选择器不适用于表

时间:2014-01-10 15:27:47

标签: javascript jquery

我正在尝试使用jquery将类添加到仅具有active_square的单元格作为类。但这条线永远不会奏效。选择器错了吗?

 $("table#team_a_grid > tr > td.active_square").addClass('clickable');   
   <table border='1' id="team_a_grid" style="float:left;">
     <tr>
       <td class=''></td>
        <td class=''>A</td>
        <td class=''>B</td>
        <td class=''>C</td>
        <td class=''>D</td>
        <td class=''>E</td>
        <td class='active_square'>F</td>
        <td class='active_square'>G</td>
        <td class='active_square'>H</td>
        <td class='active_square'>I</td>
        <td class='active_square'>J</td>
     </tr>
  </table>

7 个答案:

答案 0 :(得分:3)

大多数浏览器会插入tbody元素以使表格有效

$("#team_a_grid > tbody > tr > td.active_square").addClass('clickable');   

FIDDLE

除非你真的有嵌套表,否则你最好使用

$("#team_a_grid td.active_square").addClass('clickable');   

答案 1 :(得分:1)

您可以使用find查找表中的所有td并添加类:

$("#team_a_grid").find("td.active_square").addClass('clickable');   

答案 2 :(得分:1)

仅仅检查active_square是不够的?使其适用于其他表格。

$("td.active_square").addClass('clickable');  

答案 3 :(得分:0)

使用此

$("table#team_a_grid tr td.active_square").addClass('clickable');

在jquery中,您可以通过在父级和子级之间提供空格来选择子级。

但是我们使用jquery的.find()方法作为

的好习惯
$("table#team_a_grid").find(".active_square").addClass('clickable');

答案 4 :(得分:0)

在上下文中找出您的课程。这是更容易实现这一目标的更快捷方式:

$("td.active_square", "#team_a_grid").addClass("clickable");

jsfiddle:http://jsfiddle.net/xpmTN/1/

祝你好运!

答案 5 :(得分:0)

使用代码

$('table tr td.active_square')。addClass('clickable')

答案 6 :(得分:0)

将它放在您的页面中,你很好

<script>
$(document).ready(function(){
  $("table#team_a_grid td.active_square").addClass('clickable');
)}
</script>