Skip to content

Commit c31ae93

Browse files
author
Klaus Hartl
committed
UI Tabs: fixed a bunch of problems that were introduced with the new markup, fixes #3734, #3795
1 parent 422e066 commit c31ae93

1 file changed

Lines changed: 8 additions & 10 deletions

File tree

ui/ui.tabs.js

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ $.widget("ui.tabs", {
2121

2222
destroy: function() {
2323
var o = this.options;
24-
this.element.unbind('.tabs')
24+
this.list.unbind('.tabs')
2525
.removeClass(o.navClass).removeData('tabs');
2626
this.$tabs.each(function() {
2727
var href = $.data(this, 'href.tabs');
@@ -66,13 +66,14 @@ $.widget("ui.tabs", {
6666
},
6767

6868
_cookie: function() {
69-
var cookie = this.cookie || (this.cookie = 'ui-tabs-' + $.data(this.element[0]));
69+
var cookie = this.cookie || (this.cookie = 'ui-tabs-' + $.data(this.list[0]));
7070
return $.cookie.apply(null, [cookie].concat($.makeArray(arguments)));
7171
},
7272

7373
_tabify: function(init) {
7474

75-
this.$lis = $('li:has(a[href])', this.element.is('div') ? $('> ul:first', this.element) : this.element);
75+
this.list = this.element.is('div') ? this.element.children('ul:first, ol:first').eq(0) : this.element;
76+
this.$lis = $('li:has(a[href])', this.list);
7677
this.$tabs = this.$lis.map(function() { return $('a', this)[0]; });
7778
this.$panels = $([]);
7879

@@ -91,7 +92,7 @@ $.widget("ui.tabs", {
9192
var $panel = $('#' + id);
9293
if (!$panel.length) {
9394
$panel = $(o.panelTemplate).attr('id', id).addClass(o.panelClass)
94-
.insertAfter(self.$panels[i - 1] || self.element);
95+
.insertAfter(self.$panels[i - 1] || self.list);
9596
$panel.data('destroy.tabs', true);
9697
}
9798
self.$panels = self.$panels.add($panel);
@@ -108,11 +109,8 @@ $.widget("ui.tabs", {
108109
if (this.element.is('div')) {
109110
// TODO replace hardcoded class names
110111
this.element.addClass('ui-tabs ui-widget ui-widget-content ui-corner-all');
111-
$('> ul:first', this.element).addClass(o.navClass);
112-
}
113-
else {
114-
this.element.addClass(o.navClass);
115112
}
113+
this.list.addClass(o.navClass);
116114
this.$lis.addClass(o.tabClass);
117115
this.$panels.addClass(o.panelClass);
118116

@@ -360,8 +358,8 @@ $.widget("ui.tabs", {
360358
}
361359
$panel.addClass(o.panelClass);
362360
if (index >= this.$lis.length) {
363-
$li.appendTo(this.element);
364-
$panel.appendTo(this.element[0].parentNode);
361+
$li.appendTo(this.list);
362+
$panel.appendTo(this.list[0].parentNode);
365363
}
366364
else {
367365
$li.insertBefore(this.$lis[index]);

0 commit comments

Comments
 (0)