0

如何仅选择表格行的输入?我的意思是被点击的每一行的所有输入。

HTML:

<table>
<tr>
    <th><input type="text" name="num" value="num"/></th>   
    <th><input type="text" name="a" value="a"/></th>
</tr>

<tr>
    <td> <input type="text" name="num" value=""/> </td>
    <td><input type="text" name="a" value=""/></td>
</tr>
</table>​

CSS:

.highlight { background-color: blue; }

查询:

$(function(){
    $("tr input").click(function(){     
        $("tr input").toggleClass("highlight").siblings().removeClass("highlight"); 
    })      
})
  • 我这里有这个要测试:http://jsfiddle.net/yg4n6/
  • 我在这里有一个我正在寻找的效果的例子。这很好用,但这只是一张桌子。我正在尝试对表格内的输入做同样的事情:http: //jsfiddle.net/yg4n6/5/
4

1 回答 1

1

首先找到this父并搜索 .highlight 以删除存在。
比将 .highlight 应用于this-> TR -> 输入

http://jsfiddle.net/yg4n6/2/

$("tr input").click(function(){      
     $(this).closest('table').find('.highlight').removeClass("highlight");
     $(this).closest('tr').find('input').toggleClass("highlight");
});

你也可以这样做:

$("tr").click(function( e ){          
    if(e.target.tagName=='INPUT'){
       var $this = $(e.target);
       $this.closest('table').find('.highlight').removeClass("highlight");
       $this.closest('tr').find('input').toggleClass("highlight");
    }
});
于 2012-12-29T10:43:40.797 回答