Javascript 如何-如果div有子div,则展开此div?
所以,如果一个手风琴师有信息/身体,我怎么能提醒这个呢?信息是动态加载的,如果div中有信息(不是全部),则如下所示:Javascript 如何-如果div有子div,则展开此div?,javascript,jquery,class,if-statement,Javascript,Jquery,Class,If Statement,所以,如果一个手风琴师有信息/身体,我怎么能提醒这个呢?信息是动态加载的,如果div中有信息(不是全部),则如下所示: <div class="panel panel-default"> <div class="panel-heading"></div> <div id="collapse_1" class="accordion-body collapse"></div> </div> 提前感谢。.has(
<div class="panel panel-default">
<div class="panel-heading"></div>
<div id="collapse_1" class="accordion-body collapse"></div>
</div>
提前感谢。
.has()
返回一个jQuery对象,因此它将始终是真实的。。。您需要检查.has(…).length
在哪里放置.accordion toggle>i
元素您可能不想使用单击功能--有其他方法触发accordion,这可能会绕过您的功能。相反,在accordion show事件中使用回调。在.panel标题中,我认为这不会带来良好的用户体验。你不想提醒人们死亡,如果身体里没有内容,最好把你的“空”信息放在那里,然后再进行扩展。没有结果的点击是令人困惑的。为什么不在那里放置一条被正文覆盖的默认“空”消息呢?。children(“div.accordion-body”)。长度>0
可能更有效.hasClass
必须测试上面的每个孩子
$('.accordion-toggle > i').click(function () {
if ($(this).closest(".panel-default").children("div").hasClass('accordion-body')) {
//var open = $(this).toggleClass('fa-chevron-down fa-chevron-up');
alert('expandable section')
}else{
alert('nothing to expand')
}
});
$('.accordion-toggle > i').click(function () {
if ($(this).closest('.panel-default').has('div.accordion-body')) {
//var open = $(this).toggleClass('fa-chevron-down fa-chevron-up');
//$.toggle('open');
alert('expandable section')
} else {
alert('nothing to expand')
}
});
$('.accordion-toggle > i').click(function () {
if ($(this).closest(".panel-default").children("div").hasClass('accordion-body')) {
//var open = $(this).toggleClass('fa-chevron-down fa-chevron-up');
alert('expandable section')
}else{
alert('nothing to expand')
}
});