我需要在单击“.toggler_btn”时显示和隐藏div('.element_wrapper'),以便显示上部内部的所有子div('.element_wrapper')一。另外,它必须在第二次点击时隐藏它们。一切都应该以某种方式使用data-id和data-parent属性来完成,这些属性表示div的div id和父div的id和id。在点击时显示和隐藏Div-JS
的代码:
<div id="wrapper">
<div class="element_wrapper" data-id="1" data-parent="" style="display:none">
<button class="toggler_btn" type="button" data-id="1" data-parent="" >+/-</button>
Main Office
<button class="add_btn" type="button">Add</button>
<button class="edit_btn" type="button">Edit</button>
<button class="delete_btn" type="button">Delete</button>
<div class="element_wrapper" data-id="3" data-parent="1" style="display:none">
<button class="toggler_btn" type="button" data-id="3" data-parent="1" >+/-</button>
Room 203
<button class="add_btn" type="button">Add</button>
<button class="edit_btn" type="button">Edit</button>
<button class="delete_btn" type="button">Delete</button>
<div class="element_wrapper" data-id="6" data-parent="3" style="display:none">
<button class="toggler_btn" type="button" data-id="6" data-parent="3" >+/-</button>
Table 2
<button class="add_btn" type="button">Add</button>
<button class="edit_btn" type="button">Edit</button>
<button class="delete_btn" type="button">Delete</button>
</div>
</div>
<div class="element_wrapper" data-id="4" data-parent="1" style="display:none">
<button class="toggler_btn" type="button" data-id="4" data-parent="1" >+/-</button>
Room 256
<button class="add_btn" type="button">Add</button>
<button class="edit_btn" type="button">Edit</button>
<button class="delete_btn" type="button">Delete</button>
<div class="element_wrapper" data-id="7" data-parent="4" style="display:none">
<button class="toggler_btn" type="button" data-id="7" data-parent="4" >+/-</button>
Table 3
<button class="add_btn" type="button">Add</button>
<button class="edit_btn" type="button">Edit</button>
<button class="delete_btn" type="button">Delete</button>
</div>
</div>
</div>
<div class="element_wrapper" data-id="2" data-parent="" style="display:none">
<button class="toggler_btn" type="button" data-id="2" data-parent="" >+/-</button>
Not So Main Office
<button class="add_btn" type="button">Add</button>
<button class="edit_btn" type="button">Edit</button>
<button class="delete_btn" type="button">Delete</button>
<div class="element_wrapper" data-id="5" data-parent="2" style="display:none">
<button class="toggler_btn" type="button" data-id="5" data-parent="2" >+/-</button>
Room 301
<button class="add_btn" type="button">Add</button>
<button class="edit_btn" type="button">Edit</button>
<button class="delete_btn" type="button">Delete</button>
<div class="element_wrapper" data-id="8" data-parent="5" style="display:none">
<button class="toggler_btn" type="button" data-id="8" data-parent="5" >+/-</button>
Table 13
<button class="add_btn" type="button">Add</button>
<button class="edit_btn" type="button">Edit</button>
<button class="delete_btn" type="button">Delete</button>
</div>
</div>
</div>
</div>
<script>
$(document).ready(function() {
$('div[data-parent=""]').show();
});
$(document).ready(function() {
$('.toggler_btn').on('click', function (event) {
var btn = $('.toggler_btn');
var elem = $('.element_wrapper');
if (btn.data('id') == elem.data('id')) {
elem.show();
}
})
});
</script>
你忘了提问了。显示的代码有什么问题? 'data-parent'属性似乎不是必须的:你不能仅仅使用'.closest()'或'.parents()'和'.find()'的组合来获得点击按钮的包装和关联嵌套物品? – nnnnnn
@nnnnnn我认为他们是必要的,因为它的数据来自数据库。或者试试你的方式,我会如何做到这一点。我是JS新手,所以我已经尝试了很多,但仍然无法正常工作。 – SonOfAGun