2013-04-20 47 views
2

The documentation for the jQuery UI accordion給出了h3和div組合的多種變體的示例,它們成爲手風琴按鈕之一的標題和內容。如何使用jQuery UI Accordion訪問點擊標題(h3)的ID?

在我的頁面中,每個h3都有ID,我希望有人點擊某個手風琴按鈕時以編程方式訪問它們。我看到的最明顯的方法是在h3上註冊一個點擊監聽器,並可能在手風琴調用之後訪問事件目標來拉取HTML ID。但是我不清楚這個解決方案是否正確。

有一個事件處理程序的首選方法是告訴用戶構建用戶點擊的手風琴按鈕的h3的HTML ID?

+2

你能告訴你有,jQuery和HTML工作的代碼的最小代表性? – 2013-04-20 13:40:39

回答

1

這會將單擊h3元素的id分配給變量。這也應該考慮動態內容,因爲它使用on而不僅僅是click

$("h3").on("click", function(){ 
    var id = $(this).attr("id"); 
}); 

如果不工作,但是,對於動態內容,你可能想嘗試這樣的:

$("body").on("click", "h3", function(){ 
    var id = $(this).attr("id"); 
}); 
+0

爲什麼不簡單使用'this.id'? – 2013-04-20 14:05:58

+0

老實說?我習慣這樣做,而且我可能會也可能不會有,但肯定不知道'this.id'。 – Charlie 2013-04-20 14:08:23

2

在創建手風琴,你可以簡單地傳遞的事件處理程序的激活-事件。 在面板激活後(動畫完成後)觸發此事件。見http://api.jqueryui.com/accordion/

你可以做這樣的事情

$(".selector").accordion({ 
activate: function(event, ui) { 
if(!ui.newHeader.isEmptyObject()){ 
    alert(ui.newHeader.attr('id')) 
} 
} 
});