我有一个条目列表,这些条目按字母顺序缩短,现在我想显示我的条目&点击按钮进入其他条目。
在这段代码中假设我点击了一个按钮,我想要显示我的条目(参见class =“class_my”)with class =“item”&类=“称号”。我可以这样做,但在第二种情况下(id =“h”)没有class =“class_my”,因为我不想显示任何内容(class =“item”& class =“title”)
<li id="g" class="item">
<a name="g" class="title">G</a>
<ul>
<li>
<a href="?page_id=242&fid=9&entry=due7ya" class="class_other">Grovy Roy</a>
<a href="?page_id=242&fid=9&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&fid=9&entry=due7ya" class="class_other">Honey Roy</a>
</li>
</ul>
</li>
提前致谢!
答案 0 :(得分: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.
});
答案 1 :(得分:1)
尝试使用此代码。 (btn是你的按钮)。
btn.click(function(){
$('.class_my').closest('.item').show();
});
答案 2 :(得分: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&fid=9&entry=due7ya" class="class_other">Grovy Roy</a>
<a href="?page_id=242&fid=9&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&fid=9&entry=due7ya" class="class_other">Honey Roy</a>
<a href="?page_id=242&fid=9&entry=due7ya" class="class_my">Gova Patels</a>
</li>
</ul>
</li>
</ul>
</div>
</form>
</body>
</html>