2016-11-07 76 views
0

如何使用每个函数查找另一个元素中的所有元素,记录每个元素的所有类名称;存储隐藏的所有元素以便稍后再次隐藏

<div class="Actions"> 
    <div class="Trash"><i class="fa fa-trash-o" aria-hidden="true"></i></div> 
    <div class="Mark-Read"><i class="fa fa-envelope-open-o" aria-hidden="true"></i></div> 
    <div class="Flag"><i class="fa fa-flag" aria-hidden="true"></i></div> 
    <div class="Pin"><i class="fa fa-thumb-tack" aria-hidden="true"></i></div> 
</div> 

// My progress... 
$(this).find('.Actions').children().not(":visible").each(....); 

然后在稍后的时间,隐藏所有这些元素?

我只是在其他地方使用$(this).find('.Actions').children().show();来显示所有元素,但是稍后对那些最初隐藏的元素需要重新加载。

+0

我想简单地对一个类,其控制元件的(*在这种情况下,隐藏它们*)的可见性。这样你可以按课程找到他们。 –

+0

为什么你需要所有的classNames,你不能只是针对'$('[aria-hidden =“true”]')等等。 – adeneo

+0

当你在后面说你的意思是在页面刷新或更晚的时候稍后在代码/页面流中单击按钮? – abc123

回答

1

我已经创建了一个您所期望的工作片段。

基本上,一个attribute已添加到该元素有一个引用,如果它最初被隐藏。

然后使用相同的属性,它已被设置为隐藏,当点击“重置”按钮。

$('.Actions').children().not(':visible').each(function(){ 
 
    $(this).attr('data-display', 'none'); 
 
}); 
 

 
$('.Actions').children().show(); 
 

 
$('#reset').click(function(){ 
 
    $('.Actions').children('[data-display="none"]').hide(); 
 
});
.Flag 
 
{ 
 
    display: none; 
 
}
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet"/> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="Actions"> 
 
    <div class="Trash"><i class="fa fa-trash-o" aria-hidden="true"></i></div> 
 
    <div class="Mark-Read"><i class="fa fa-envelope-open-o" aria-hidden="true"></i></div> 
 
    <div class="Flag"><i class="fa fa-flag" aria-hidden="true"></i></div> 
 
    <div class="Pin"><i class="fa fa-thumb-tack" aria-hidden="true"></i></div> 
 
</div> 
 
<input id="reset" type="button" value="Reset">