2012-03-26 71 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> 
相关问题