我有这样的模拟代码:隐藏要素按类别与jquery
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
<meta name="viewport" content="width=device-width; initial-scale=1.0"/>
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("input[name=type_selector]").change(function(){
var $category = $(this);
$("div[class=widget_group_div]").each(function(){
if ($category.parent().text() == $(this).children("p").text())
{
if ($category.prop('checked'))
{
$(this).children().show();
$(this).show();
}
else
{
$(this).children().hide();
$(this).hide();
}
}
});
});
};
</script>
</head>
<body>
<div class="wrapper">
<ul id="classification_selector">
<label><li>widget_a<input type="checkbox" name="type_selector" value="widget_a" checked=""/></li></label>
<label><li>widget_b<input type="checkbox" name="type_selector" value="widget_b" checked=""/></li></label>
</ul>
<div id="y_scroll_div">
<div class="name_div"><h3><label>Item 1231</label></h3></div>
<div class="widget_group_div">
<label class="widgets_name">
<p class="widget_group_name">
widget_a
</p>
</label>
</div>
<div class="name_div"><h3><label>Item 23232</label></h3></div>
<div class="widget_group_div">
<label class="widgets_name">
<p class="widget_group_name">
widget_b
</p>
</label>
</div>
</div>
</div>
</body>
</html>
什么是假设发生的是有假设是有name_div类中的每个项目的大名单。然后在下面会有一堆不同的元素,在widget_group_div中有关于该项目的信息,以及一个将该项目归入某个类别下的元素,为了简单起见,我删除了除处理类别之外的所有其他元素。
页面顶部有一个带有可用类别的检查列表,其想法是该页面加载系统中的所有内容。然后,用户可以选择通过从类别列表中删除支票来消除类别。理想情况下,每个widget_group_div上方的name_div也会被隐藏起来,但是现在我甚至无法将widget_group_div或其子项隐藏起来。
我已经包括了我在jQuery的尝试,给你一个我正试着去的方向的想法,谢谢。
无效的标记标签不能是儿童的ul .....? – Jai 2015-03-19 06:03:32