我想在打开手风琴选项卡时启动ajax调用以获取该选项卡的内容。为此,我需要知道剩下哪个标签以及打开了哪个标签。 从jquery文档:
$('.ui-accordion').bind('accordionchange', function(event, ui) {
ui.newHeader // jQuery object, activated header
ui.oldHeader // jQuery object, previous header
ui.newContent // jQuery object, activated content
ui.oldContent // jQuery object, previous content
});
在萤火虫中,我可以看到我需要的是ui.newContent或ui.oldContent。
这些似乎是实际的div,所以我不知何故需要得到他们的id。
function OnAccordionChanged(event, ui) {
//get the id of the old tab
var oldId = ui.oldContent.id;
//apply (business) filters
//get the id of the new tab
//fetch the content
//append to new tab
//party
}
这基本上是我失败的第一步:S
答案 0 :(得分:1)
似乎确实有一个错误或newContent
会给你'未定义',但是newHeader
会给你
$(ui.newHeader).attr('id')
将提供h3标记的ID
$(ui.newContent).attr('id')
应该给出div的id,但不是。相反,它给出'undefined',即使只是ui.newContent.attr('id')
,它应该是正确的,stil给出undefined。使用firebug中的DOM选项卡,我能够确定一个奇怪的不正确的工作
ui.newContent.prevObject.attr('id')
似乎div实际上在ui.newContent.prevObject
这是一个jQuery对象......似乎完美无缺地工作
答案 1 :(得分:0)
您可以通过
获取(jQuery)DOM对象的IDmy_object.attr("id")