2012-03-26 88 views
1

我有一個條目列表,這些條目按字母順序縮短,現在我想顯示我的條目&其他通過點擊按鈕進入。jQuery隱藏記錄標題如果沒有找到記錄

在這段代碼中假設我有一個按鈕,點擊我想顯示My Entry(參見class =「class_my」),class =「item」& class =「title」。我能做到這一點,但在第二種情況下(ID =「H」)無級=「class_my」,對於我不想顯示任何東西(類=「項」 &類=「標題」)

<li id="g" class="item"> 
<a name="g" class="title">G</a> 
    <ul> 
     <li>     
     <a href="?page_id=242&amp;fid=9&amp;entry=due7ya" class="class_other">Grovy Roy</a> 
     <a href="?page_id=242&amp;fid=9&amp;entry=due7ya" class="class_my">Gova Patel</a> 
     </li> 
    </ul> 
</li> 
<li id="h" class="item"> 
    <a name="h" class="title">H</a> 
     <ul> 
      <li>     
      <a href="?page_id=242&amp;fid=9&amp;entry=due7ya" class="class_other">Honey Roy</a> 

      </li> 
     </ul> 
    </li> 

在此先感謝!

回答

2

如果我理解正確,所有項目都會隱藏起來,當你點擊「我的項目」時你想顯示其中有一個項目.class_my的項目。與「其他條目」相同。那是對的嗎?

我建議在尋找類,然後使用closest尋父項:

$(".item").hide(); // All them are hidden in the beginning 
$("#my_button").click(function() { 
    $(".class_my").closest(".item").show(); 
}); 

如果這就是你想要什麼沒有實現,請澄清(更多信息編輯你的問題) 。也顯示你到目前爲止所嘗試的,所以我們可以幫助你發現哪裏出了問題。

更新:如果所有項目都顯示在開始,該按鈕將隱藏其中的一些,將「隱藏所有」給你的函數裏面:

$("#my_button").click(function() { 
    $(".item").hide(); // Hide all them, and... 
    $(".class_my").closest(".item").show(); // ...show only the ones you want. 
}); 
+0

你能幫助普萊舍M}這裏http://jsfiddle.net/uZAt9/1/我編寫代碼在文檔準備功能及其毫不掩飾^ h標題及數據 – 2012-03-26 07:01:01

+0

謝謝,我已經做到了非常感謝 – 2012-03-26 07:05:27

+0

我的代碼是向他們展示,而不是隱藏他們。他們是否會初始隱藏或顯示? (從你的評論,看起來像答案是「顯示」;我會更新我的答案然後 – mgibsonbr 2012-03-26 07:07:00

1

嘗試使用此代碼。 (btn是你的按鈕)。

btn.click(function(){ 
    $('.class_my').closest('.item').show(); 
}); 
1
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <title>StatockOverflow</title> 
    <script src="http://ajax.aspnetcdn.com/ajax/jquery/jquery-1.5.1.min.js" type="text/javascript"></script> 
    <script type="text/javascript"> 
     $(document).ready(function() { 
      $('.class_my').hide(); 
      $('.class_my').parent().hide(); 
      $('.class_other').hide(); 
      $('.class_other').parent().hide(); 
     }) 
    function showanchor(obj) { 


     if ($($(obj).parent()).children("ul").children("li").children('a.class_my').length > 0) 
      $($(obj).parent()).children("ul").children("li").show(); 
     $($(obj).parent()).children("ul").children("li").children('a.class_my').show(); 


     } 
    </script> 
</head> 
<body> 
    <form id="form1" runat="server"> 
    <div> 
    <ul> 
    <li id="g" class="item"> 
    <a name="g" href="javascript:void(0);" class="title" onclick="showanchor(this);">G</a> 
    <ul> 
     <li>     
     <a href="?page_id=242&amp;fid=9&amp;entry=due7ya" class="class_other">Grovy Roy</a> 
     <a href="?page_id=242&amp;fid=9&amp;entry=due7ya" class="class_my">Gova Patel</a> 
     </li> 
    </ul> 
</li> 
<li id="h" class="item"> 
    <a name="h" href="javascript:void(0);" class="title" onclick="showanchor(this);">H</a> 
     <ul> 
      <li>     
      <a href="?page_id=242&amp;fid=9&amp;entry=due7ya" class="class_other">Honey Roy</a> 
      <a href="?page_id=242&amp;fid=9&amp;entry=due7ya" class="class_my">Gova Patels</a> 

      </li> 
     </ul> 
    </li> 
    </ul> 
    </div> 
    </form> 
</body> 
</html> 
相關問題