2011-10-21 13 views
0

我想在輸入字段中添加類名,但不知道jquery的所有邏輯。
HTML代碼在.hover效果的子元素中添加class

<tr class="jp_contact"><td>text</td><td>text</td><td>text</td><td><input name="in_val" ></td></tr> 
<tr class="jp_contact"><td>text</td><td>text</td><td>text</td><td><input name="in_val" ></td></tr> 
<tr class="jp_contact"><td>text</td><td>text</td><td>text</td><td><input name="in_val" ></td></tr> 

鱈魚是:

$('.jp_contact').each(function(e){ 
     var currentRow = $(this); 
     $(this).hover(
      function(){ 
        $(this).addClass('jp_hover'); 
        $(currentRow + " td:last").removeClass('dis_button'); 
       }, 
      function(){ 
        $(this).removeClass('jp_hover'); 
        $('input[name="in_val"]').addClass('dis_button'); 
       }); 
    }); 
+0

什麼問題? –

回答

2

你的邏輯是有缺陷的。懸停時,您從當前行的最後一個單元格中刪除dis_button類。當懸停時,您可以將一個dis_button類添加到不存在的輸入元素。

此外,你不能在字符串上下文中使用jQuery對象。 $(currentRow + " td:last")應該是$("td:last", currentRow)$(currentRow).find("td:last")的簡稱)。

$('.jp_contact').each(function(e){ 
    var currentRow = $(this); 
    $(this).hover(
     function(){ 
       $(this).addClass('jp_hover'); 
       $("td:last", currentRow).removeClass('dis_button'); 
      }, 
     function(){ 
       $(this).removeClass('jp_hover'); 
       $("td:last", currentRow).addClass('dis_button'); 
      }); 
}); 
+0

再次感謝先生,問題用'$(currentRow).find('input [name =「in_val」]')' –