2012-01-20 25 views
0

在我看來我該如何糾正從一組html列表中隱藏列表?

<ul> 
<li id="list"> 
<table cellpadding="0" cellspacing="0" width="100%" class="grid-table08" id="table1"> 
<tbody> 
<tr><td><img src="../../Content/Images/downarrow.gif" title="Hide Details" class="hide"> 
</td></tr> 

<tr><td align="left" valign="top" width="15" nowrap="nowrap"> 
Hii good morning 
</td> 
<tr> 
</table> 
</li> 

<li> 
<table cellpadding="0" cellspacing="0" width="100%" class="grid-table08" id="table1"> 
<tbody> 
<tr><td><img src="../../Content/Images/downarrow.gif" title="Hide Details" class="hide"> 
</td></tr> 

<tr><td align="left" valign="top" width="15" nowrap="nowrap"> 
Hii good evening 
</td> 
<tr> 
</table> 
</li> 

</ul> 

當我點擊id爲隱藏圖像總共有10裏我需要隱藏特定李

我的腳本如下

<script type="text/javascript"> 
$(function() { 

    $(".hide").live("click", function() { 

     $(".hide").closest("li").hide("slow"); 


    }); 

}); 

但它不工作任何人都可以幫我

+0

爲什麼你使用'#li'(好像它是一個ID),而不是隻需通過'.closest('li')'選擇?此外,您在HTML中使用'hide'作爲ID,並將其用作JavaScript中的類(參見'.')。 – m90

+0

HTML標籤ID必須是唯一的,您多次使用ID =「list」。嘗試修復,看看是否有幫助 – Sparky

+0

哦,對不起,謝謝@斯帕奇,@ m90 .. –

回答

1

你的img標籤具有的,而不是類的一個ID =「隱藏」 =」隱藏」。

WRONG: <img src="../../Content/Images/downarrow.gif" title="Hide Details" id="hide"> 
GOOD: <img src="../../Content/Images/downarrow.gif" title="Hide Details" class="hide"> 

$(".hide") - this one selects all elements with class="hide" 

UPDATE:

此外,你必須使用相同ID的多個LI標籤= 「清單」:<li id="list"> 你必須使用一個類:一個ID之間<li class="list">

的區別而一個類是一個ID可以用來標識一個元素,而一個類可以用來標識多個元素。

SOLUTION:

<li class="list"> 
<table cellpadding="0" cellspacing="0" width="100%" class="grid-table08" id="table1"> 
<tbody> 
<tr><td><img src="../../Content/Images/downarrow.gif" title="Hide Details" class="hide"> 
</td></tr> 

<tr><td align="left" valign="top" width="15" nowrap="nowrap"> 
Hii good morning 
</td> 
<tr> 
</table> 
</li> 

<li class="list"> 
<table cellpadding="0" cellspacing="0" width="100%" class="grid-table08" id="table1"> 
<tbody> 
<tr><td><img src="../../Content/Images/downarrow.gif" title="Hide Details" class="hide"> 
</td></tr> 

<tr><td align="left" valign="top" width="15" nowrap="nowrap"> 
Hii good evening 
</td> 
<tr> 
</table> 
</li> 

</ul> 

$(function() { 
    $(".hide").live("click", function() { 
     $(this).parents("li.list:first").hide("slow"); 
    }); 
}); 

嘗試這裏的演示:http://jsfiddle.net/RtXn9/

+0

感謝您糾正@papaiatis –

+0

接受我的解決方案,如果它適用於您 – papaiatis

+0

但在李我已經使用類「命名爲」用戶「,我以前沒有提到 –

1

你不能在你的HTML中使用了一個以上的元素..change ID =「隱藏」類=「隱藏」唯一的ID

$(document).ready(function(){  

     $(".hide").live("click", function() {  
      $(this).parents().find('li').hide('slow'); 

     });  

    }); 
+0

謝謝,但它使整個李隱藏 –

+0

所以你想只隱藏圖像? – coolguy

+0

請檢查現在..我修改了代碼 – coolguy