2014-01-10 58 views
1

我想用jquery添加类只有active_square单元已经作为一个类。但是这条线从来没有工作。选择器是否错误?jQuery选择器不工作的表

$("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> 

回答

3

大多数浏览器将插入一个tbody元素使表有效

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

FIDDLE

,除非你真的有嵌套表你使用

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

的更好您可以使用find查找表格和广告中的所有td d类:

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

哎呀对不起没有注意到active_square位...将修正答案 –

0

使用此

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

在jQuery中,你可以通过给家长和孩子之间的空间选择孩子。

但是,我们将使用jQuery的.find()方法

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

的良好实践的环境中找出你的类。这是很容易做到这一点,更快的方法:

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

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

祝你好运!

1

仅仅检查active_square是不够的?对其他表格也是通用的。

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

使用代码这

$( '表TR td.active_square')。addClass( '点击')

0

这个地方在你的页面,你是好

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