2013-09-30 74 views
0

當點擊「正面」鏈接時,我想隱藏每一個與「正面」不同的班級,並在點擊「負面」時隱藏所有與班級不同的班級,鏈接。使用javascript隱藏與同一班級的所有tr

這是我的HTML:

<a href="" id="positive"> Positive rows</a> 
<a href="" id="negative"> Negative rows</a> 
<?php 
$i=1; 
while ($u=mysql_fetch_array($result2)){ 
?> 
<tr id="row<?php echo $i;?>" class="<?php echo $u['positive_negative'];?>"> //echo $u['positive_negative'] can result on "Positive" or "Negative" text. 
    <td><? echo $u['date'];?></td> 
    <td><? echo $u[''positive_negative'];?></td> 
    <td><? echo $u['user_id'];?></td> 
</tr> 
<?php 
$i++; 
}; 
?> 

我已經試過這個劇本,但不工作:

$(document).ready(function(){ 
$('#positive').click(function(){ 
$('.positive').show(200); 
$('.negative').hide(200); 
}); 
$('#negative').click(function(){ 
$('.negative').show(200); 
$('.positive').hide(200); 
}); 
}); 

提前任何幫助謝謝!

回答

0

試試這個:

$('#positive, #negative').click(function(e){ 
    e.preventDefault(); 
    $('tr').not($('.'+this.id).show(200)).hide(); 
    //select all tr, provide a specific table id as well to distinguish, but not the ones with this classname which you want to show hide others. 
}); 

還要注意表不應該直接包含TR的後裔。

Demo

0

這應該工作:

$('tr').not('.positive').hide(); 
+0

對不起,不工作:( – Freddie

+0

你可以做一個的jsfiddle或jsbin? –

0

您的JavaScript應該工作,如果你的類被正確標記。隱藏時,你應該搜索不是.negative,而不是.positive,正如其他人所暗示的一樣,但是如果你的代碼根本不工作,錯誤在於你如何佈置你的html,而不是你的javascript ,因爲我已經用jsfiddle進行了測試。檢查螢火蟲或開發人員工具以查看您的班級名稱是否正確分配,或者如果控制檯中有任何錯誤。

這裏有淡入淡出,並做它的另一種方式,但是前面的例子中也將工作: http://jsfiddle.net/v8k3H/3/

0

你加的jquery.js:

$(document).ready(function(){ 
    $('#positive').click(function(){ 
     $('tr').not('.positive').fadeOut(function(){$('.positive').fadeIn();}); 
    }); 

    $('#negative').click(function(){    
     $('tr').not('.negative').fadeOut(function(){$('.negative').fadeIn();}); 
    }); 

}); 

一些香草HTML基本樣機文件。它看起來像你忘了添加.js文件或它沒有加載。

並檢查拼寫「積極」 /「積極」