我有两种<div>
&#39; s。这是这些结构:
<div id="acf-field" class="field field_type-relationship field_key-field_59f736725fe5d" data-field_name="levesek" data-field_key="field_59f736725fe5d" data-field_type="relationship" style="display: block;">
<!-- Hidden Blank default value -->
<input type="hidden" name="fields[field_59f736725fe5d]" value="">
<!-- Left List -->
<div class="relationship_left">
<table class="widefat">
<thead>
<tr>
<th>
<input class="relationship_search" placeholder="Search..." type="text" id="relationship_fields[field_59f736725fe5d]">
</th>
</tr>
</thead>
</table>
<ul class="bl relationship_list">
<li></li><li class="load-more">
<div class="acf-loading"></div>
</li>
</ul>
</div>
<!-- /Left List -->
<!-- Right List -->
<div class="relationship_right">
<ul class="bl relationship_list ui-sortable" style="height: 192px;">
</ul>
</div>
<!-- / Right List -->
对我来说这是一个空的div。 (因为<ul class="bl relationship_list ui-sortable">
没有li
孩子)我也有field2
和field3
个ID。
我想表明那个拥有li的div并隐藏那些不包含任何内容的div(它可能是3个空(显示全部)或只有一个(隐藏其他)包含值)
所以我做了这个jQuery但没有工作:
jQuery(document).ready(function(){
jQuery( "#acf-field" ).show();
jQuery( "#acf-field2" ).show();
jQuery( "#acf-field3" ).show();
if (jQuery( "#acf-field" ).find( ".ui-sortable" ).children().eq(0)) {
jQuery( "#acf-field" ).show();
jQuery( "#acf-field2" ).hide();
jQuery( "#acf-field3" ).hide();
}
if (jQuery( "#acf-field2" ).find( ".ui-sortable" ).children().eq(0)) {
jQuery( "#acf-field2" ).show();
jQuery( "#acf-field" ).hide();
jQuery( "#acf-field3" ).hide();
}
if (jQuery( "#acf-field3" ).find( ".ui-sortable" ).children().eq(0)) {
jQuery( "#acf-field3" ).show();
jQuery( "#acf-field2" ).hide();
jQuery( "#acf-field" ).hide();
}
答案 0 :(得分:0)
字段 - acf-field,acf-field2和acf-field3是互斥的吗?如果没有那么“if条件”需要用else else的配对重写。
答案 1 :(得分:0)
检查ul
的内容是否为空字符串。如果是,请隐藏它。
#acf-field
的示例代码:
jQuery(document).ready(function(){
jQuery( "#acf-field" ).show();
if (jQuery( "#acf-field" ).find( ".ui-sortable" ).html()=="") {
jQuery( "#acf-field" ).hide();
}
});