比如说我有一个表格,第一列是选择,当我点击当前行的选择之后,其他行就被隐藏。效果如下<script src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript">
$(function(){
$("tr td").click(function(){
if($(this).text()=="选择"){
$("tr").hide();
$(this).parent().show();
}
});
})
 </script> 
<table border="1" cellspacing="0" cellpadding="0" width="600">
 <tr>
<td/>选择</td>
<td>2</td>
<td>2</td>
<td>1</td>
<td>2</td>
<td>2</td>
<td>1</td>
 </tr>
 <tr>
<td>选择</td>
<td>2</td>
<td>1</td>
<td/>1</td>
<td>1</td>
<td>2</td>
<td>0</td>
 </tr>
 <tr>
<td/>选择</td>
<td>1</td>
<td>2</td>
<td/>0</td>
<td>1</td>
<td>2</td>
<td>0</td>
 </tr>
</table>我想问的是如何表示非当前元素,是!$(this),not($(this))?还是有其他表示方法

解决方案 »

  1.   

    这种问题应当先去查API,.prevAll() //获取指定元素的前边所有的同级元素。
    .nextAll() //获取指定元素后边的所有同级元素
      

  2.   

    我知道你说的那两个函数,我想问的是
     $("tr").hide();           
     $(this).parent().show();这两行能不能合并成
    $().not($(this)).parent().hide();这种形式(这个写法是错的,但我也不知道该怎么写)
      

  3.   


    $("tr").hide();
    $(this).parent().show();
    这两行可以合并成:
    $(this).parent().siblings().hide()
    siblings()表示同级元素,但不包括本身。