Skip to content

Commit 9a786e0

Browse files
committed
Tabs: fixed to work with empty nav list again.
Fixes #4997 - No longer possible to start with empty tab then add() elements dynamically.
1 parent 4a995c6 commit 9a786e0

File tree

3 files changed

+48
-4
lines changed

3 files changed

+48
-4
lines changed

tests/unit/tabs/tabs.html

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,34 @@
4242
<div id="colon:test"></div>
4343
<div style="height: 300px;" id="inline-style"></div>
4444
</div>
45+
<div id="tabs3">
46+
<div>
47+
<ul id="tabs3-list">
48+
<li><a href="#tabs3-1">1</a></li>
49+
</ul>
50+
</div>
51+
</div>
52+
<div id="tabs4">
53+
<ul id="tabs4-list">
54+
<li><a href="#tabs4-1">1</a></li>
55+
</ul>
56+
<ol>
57+
<li><a href="#tabs4-1">1</a></li>
58+
</ol>
59+
</div>
60+
<div id="tabs4a">
61+
<ol id="tabs4a-list">
62+
<li><a href="#tabs4a-1">1</a></li>
63+
</ol>
64+
<ul>
65+
<li><a href="#tabs4a-1">1</a></li>
66+
</ul>
67+
</div>
68+
<div id="tabs5">
69+
<div>
70+
<ul id="tabs5-list"></ul>
71+
</div>
72+
</div>
4573
</div>
4674
</body>
4775
</html>

tests/unit/tabs/tabs_core.js

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,24 @@ var el;
77

88
module("tabs: core");
99

10+
test('navigation markup', function() {
11+
el = $('#tabs3').tabs();
12+
ok($('#tabs3-list').hasClass('ui-tabs-nav'), 'custom markup; allow list to be any descendant');
13+
el.tabs('destroy');
14+
15+
el = $('#tabs4').tabs();
16+
ok($('#tabs4-list').hasClass('ui-tabs-nav'), 'first list found becomes nav - ul');
17+
el.tabs('destroy');
18+
19+
el = $('#tabs4a').tabs();
20+
ok($('#tabs4a-list').hasClass('ui-tabs-nav'), 'first list found becomes nav - ol');
21+
el.tabs('destroy');
22+
23+
el = $('#tabs5').tabs();
24+
ok($('#tabs5-list').hasClass('ui-tabs-nav'), 'empty list can be used');
25+
el.tabs('destroy');
26+
});
27+
1028
test('ajax', function() {
1129
expect(4);
1230
stop();
@@ -34,6 +52,5 @@ test('ajax', function() {
3452
});
3553

3654
});
37-
38-
55+
3956
})(jQuery);

ui/jquery.ui.tabs.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,8 +68,7 @@ $.widget("ui.tabs", {
6868

6969
_tabify: function(init) {
7070

71-
// use $('li:first').parent() so we can find the first ul/ol in DOM order
72-
this.list = this.element.find('li:first').parent();
71+
this.list = this.element.find('ol,ul').eq(0);
7372
this.lis = $('li:has(a[href])', this.list);
7473
this.anchors = this.lis.map(function() { return $('a', this)[0]; });
7574
this.panels = $([]);

0 commit comments

Comments
 (0)