我的<div>It's working fine.....</div>
div
{
height: calc(100vh - 8vw);
background: #000;
overflow:visible;
color: red;
}
标记为div
:
i
首次点击<div class="accordion-heading datalist" data-toggle="collapse" data-parent="#accordion2" href="#@i.Id">div
<i class="fa fa-chevron-down table-middle" aria-hidden="true">i tag</i>
</div>
时,div
代码应该会消失,然后在i
下再次显示div
代码。我怎么能这样做?
答案 0 :(得分:4)
您可以使用toggle()
来实现这一目标:
$('.accordion-heading').click(function() {
$(this).find('i').toggle();
});
请注意,根据您的样式规则,可能很难和/或无法点击隐藏div
的{{1}}元素,因为它没有高度。要解决此问题,您可以在i
上设置min-height
规则,或在其中放置一个不间断的空格(div
)。
我想在
之间切换
和display: none
在这种情况下,您必须自己管理display: tablecell
值,如下所示:
display
答案 1 :(得分:0)
使用jquery {{1}}。 检查一下 jsfiddle
答案 2 :(得分:0)
没有jQuery:
var accordion = document.querySelector('.accordion-heading');
accordion.addEventListener('click', toggleTag);
function toggleTag() {
var tagToToggle = accordion.querySelector('i');
if (!tagToToggle.classList.contains('active')) {
tagToToggle.classList.add('active');
} else {
tagToToggle.classList.remove('active');
}
}
CSS:
i {
display: none;
}
i.active {
display:block;
}
答案 3 :(得分:0)
您也可以使用 toggleClass()
方法,但是为jquery函数创建 css
类。最可定制的
&#xA;&#xA;&#xA;.display-none {display:none;}
&#xA; &#XA;或
.display-none {opacity:0; transition:1s solid ease;}
&#xA;
$('。accordion -heading')。on('click',function(){&#xA; $(this).find('i')。toggleClass('display-none');&#xA;});&#xA ;
&#xA;&#xA; &#xA;