为什么';我的代码使用jQuery hasClass()是否有效?
我在脚本中使用了hasClass方法,但它没有按照我想要的方式工作。 我的HTML表如下所示为什么';我的代码使用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><
<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"> </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"> </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')