2016-09-21 58 views
0

我使用的是Semantic Ui手風琴,希望用戶能夠打印帶有所有元素的手風琴。 (這就像一個FAQ手風琴)
有沒有辦法打開所有的手風琴元素或獲得最後一個元素的索引?
這裏是我的javascript代碼:Semantic Ui Accordion獲取元素數

$('.print-btn').on('click', function(){ 
    $('.ui.accordion').accordion('open', 0);; 
    setTimeout(function() { //wait a second until the accordion is opened 
     print(); 
    }, 1000); 
}); 

這將打開第一個元素,然後打印出來。所以我實際上需要一個循環來打開所有元素,爲此我需要元素的數量。
事先不知道元素的數量,因爲數據可以通過數據庫進行更改。

+0

你可能想看看進入「CSS印刷媒體查詢」(http://www.w3schools.com/css/css3_mediaqu eries.asp)。這讓你只有css才能打印。在那個特定的CSS中,你可以讓所有的手風琴始終打開。你不應該需要任何JavaScript來做到這一點。 –

+0

我想到了這一點,但對於語義UI手風琴來說並不容易。我認爲用javascript完成它是「更好」的。 –

+0

這絕對不是「更好」,但它可能更容易。 –

回答

1

您可以標記與特定類別的所有的常見問題項目,並獲得與指定類選擇的所有項目(我用jQuery的這裏):

var items = $('.faq-item.ui.accordion'); 

之後,它是微不足道的經歷,從每個項目該陣列items開放他們用for-loop

for (int i=0; i<items.length; i++) { 
    items.accordion('open', i) 
}); 
+0

這工作完美無瑕。比預期容易...謝謝! –