为什么';我的代码使用jQuery hasClass()是否有效?

为什么';我的代码使用jQuery hasClass()是否有效?,jquery,Jquery,我在脚本中使用了hasClass方法,但它没有按照我想要的方式工作。 我的HTML表如下所示 <table id="sort"> <tr class="nodrag nodrop"> <td colspan=3><strong><a style="cursor:pointer;" class="toggle">Group 1</a></strong><

我在脚本中使用了hasClass方法,但它没有按照我想要的方式工作。 我的HTML表如下所示

<table id="sort">
            <tr class="nodrag nodrop">
                <td colspan=3><strong><a style="cursor:pointer;" class="toggle">Group 1</a></strong></td>
                <td style="text-align: right;"><a class="button3" href="#" ><span> Edit </span></a> <a class="button3" href="#" ><span> Delete </span></a></td>
            </tr>
            <tr id="1" class="tr_group" style='display:none;'>
                <td style="width:10px;" class="dragHandle">&nbsp;</td>
                <td><a href=# style="margin-left: 20px;">Umair Iqbal</a></td>
                <td><span style="font-size: 12px; color: #999; line-height: 100%;">A Student at TUM</span></td>
                <td style="text-align: right;"><a class="button3" href="#" ><span> Edit </span></a> <a class="button3" href="#" ><span> Delete </span></a></td>
            </tr>
            <tr id="2" class="tr_group" style='display:none;'>
                <td style="width:10px;" class="dragHandle">&nbsp;</td>
                <td><a href=# style="margin-left: 20px;">Faryal Khan</a></td>
                <td><span style="font-size: 12px; color: #999; line-height: 100%;">A Doctor at KMC</span></td>
                <td style="text-align: right;"><a class="button3" href="#" ><span> Edit </span></a> <a class="button3" href="#" ><span> Delete </span></a></td>
            </tr> 
</table>


塔姆大学的学生
KMC的医生
我的剧本如下

 <script type="text/javascript">
        $(document).ready(function() {
            // $('#sort tr:even').addClass('alt');
            $('#sort').tableDnD({
                onDrop: function(table, row) {
                  alert(row.id);
                },
                dragHandle: ".dragHandle"
            });
            $("#sort tr").hover(function() {
                if($('#tr').hasClass('tr_group')) 
                {
                    $(this.cells[0]).addClass('showDragHandle');
                    }, function() {
                    $(this.cells[0]).removeClass('showDragHandle');
                }
            });
        });
 </script>

$(文档).ready(函数(){
//$('#sort tr:even').addClass('alt');
$(“#排序”).tableDnD({
onDrop:函数(表、行){
警报(row.id);
},
德拉甘德尔:“德拉甘德尔”
});
$(“#sort tr”).hover(函数(){
if($('#tr').hasClass('tr#group'))
{
$(this.cells[0]).addClass('showDragHandle');
},函数(){
$(this.cells[0]).removeClass('showDragHandle');
}
});
});
它不是将类showDragHandle添加到悬停效果上具有类“tr_group”的行中

我做错了什么?有什么建议吗


提前感谢

您的选择器不正确,您正在使用散列来指示和id。 此外,您在类的前面加上了不正确的元素表示法

这个

应该是:

if($('tr').hasClass('group')) 

.hover
中,您应该询问:

if ( $(this).hasClass("tr_group") )
或者,您可以只响应那些具有以下类的
tr
元素:

$("#sort").on({
    mouseenter: function(){
        $("td:first", this).addClass("showDragHandle");
    },
    mouseleave: function(){
        $("td:first", this).removeClass("showDragHandle");
    }
}, "tr.tr_group");

当您只能响应所针对的
tr
元素时,无需执行if语句。

没有ID为
tr

您可能想要:

if ($(this).hasClass('group')) 
而不是:

$(this.cells[0])
使用:

也改变了:

$('#tr')
致:

改变

if($('tr').hasClass('tr#group'))

if($(this).hasClass('tr_group'))


因为您已经在迭代一个tr列表。

没有#tr。应该是$(“tr”)谢谢您的快速响应:)谢谢您的快速响应:)谢谢您的快速响应:)谢谢您的快速响应:)没错
$('.dragHandle', $(this))
$('#tr')
$('tr')