我有通過asp.net生成的div的動態數量。我需要通過點擊其標題來顯示每個div內容。我已經嘗試過了{jquery show hide each div onlick
$(function() {
var myHead = $(".toggle-container").find(".toggle-header");
var myBody = $(myHead).parent().find(".toggle-content");
$(myHead).click(function() {
if ($(myBody).css('display') === 'none') {
$(this).children('i').removeClass('icon-chevron-sign-down').addClass('icon-chevron-sign-up');
$(this).parent().find(".toggle-content").slideDown("slow");
} else if ($(myBody).css('display') === 'block') {
$(this).children('i').removeClass('icon-chevron-sign-up').addClass('icon-chevron-sign-down');
$(this).parent().find(".toggle-content").slideUp("slow");
};
});
});
但它只適用於第一個標題,其餘的標題不會摺疊它的子內容。這裏是JsFiddle鏈接到目前爲止我嘗試過的。任何人都可以解決?
你確定使用'的.next()'是最好的做法是什麼?它不是真的與DOM耦合? – Itay
@Itay任何解決方案都將與dom ...耦合,因爲我們正在找到相對於其他的元素...所以'.next()'或'.closest('。toggle-container')。find(' .toggle-content')'全部都是一樣的,並且會有dom依賴性 –
你寫的第二個選項比第一個選項好得多。 – Itay