我想在输入字段中添加一个类名,但不知道jquery的所有逻辑 HTML代码是
<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');
});
});