如果它的子TD与JQuery选择器一起选择TR而不选择TR?

时间:2013-09-20 15:14:37

标签: javascript jquery html css

我需要将一些css应用于一些TR及其子项,除了一列及其子项是复选框

以下都没有工作

 $('#myRow').not('input').css( "background-color", "#E0E0E0" ).bind('click', function(e){e.preventDefault();});

 $('#myRow').not('.myCellClass').css( "background-color", "#E0E0E0" ).bind('click', function(e){e.preventDefault();});

 $('#myRow:not(.myCellClass)').css( "background-color", "#E0E0E0" ).bind('click', function(e){e.preventDefault();});

 $('#myRow:not(input)').css( "background-color", "#E0E0E0" ).bind('click', function(e){e.preventDefault();});

3 个答案:

答案 0 :(得分:1)

为要绑定点击事件的td添加不同的类。

<table>
<tr>
<td class="clickable"></td>
<td class="nonclickable"></td>
<td class="clickable"></td>
</tr>
</table>

$('tr td.clickable').click(function(){ // do wathever you want. 
});

答案 1 :(得分:1)

事件委托是一个更好的选择:

$('table#mayTable').on('click', 'tr', function (event) {
    if ($(event.target).find('input').length) {
        // this row has inputs
        return;
    }
    // row does not have inputs
    // do what ever you like
}   

答案 2 :(得分:0)

您可以使用下面的.end()作为示例进行CSS更改。

$(function() {
       $("table").find("tr").css("background","red")
       .end()
       .find(".b")
        .css("background","#fff") 
 });

以上示例演示http://jsbin.com/uvUTiGu/1/edit?html,css,output