jquery如何选中非当前元素?
比如说我有一个表格,第一列是选择,当我点击当前行的选择之后,其他行就被隐藏。效果如下
<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))?还是有其他表示方法
[解决办法]
这种问题应当先去查API,
.prevAll() //获取指定元素的前边所有的同级元素。
.nextAll() //获取指定元素后边的所有同级元素
[解决办法]
$("tr").hide();
$(this).parent().show();
这两行可以合并成:
$(this).parent().siblings().hide()
siblings()表示同级元素,但不包括本身。