Tabs: jQuery <1.7.2 treats .data() as a getter if the value to set is undefined.

This commit is contained in:
Scott González 2012-06-11 10:43:04 -04:00
parent aa1e8b5e6c
commit 4866182dee

10
ui/jquery.ui.tabs.js vendored
View File

@ -384,7 +384,8 @@ $.widget( "ui.tabs", {
this.anchors.each(function( i, anchor ) { this.anchors.each(function( i, anchor ) {
var selector, panel, panelId, var selector, panel, panelId,
anchorId = $( anchor ).uniqueId().attr( "id" ), anchorId = $( anchor ).uniqueId().attr( "id" ),
tab = $( anchor ).closest( "li" ); tab = $( anchor ).closest( "li" ),
originalAriaControls = tab.attr( "aria-controls" );
// inline tab // inline tab
if ( isLocal( anchor ) ) { if ( isLocal( anchor ) ) {
@ -405,9 +406,10 @@ $.widget( "ui.tabs", {
if ( panel.length) { if ( panel.length) {
that.panels = that.panels.add( panel ); that.panels = that.panels.add( panel );
} }
tab if ( originalAriaControls ) {
.data( "ui-tabs-aria-controls", tab.attr( "aria-controls" ) ) tab.data( "ui-tabs-aria-controls", originalAriaControls );
.attr({ }
tab.attr({
"aria-controls": selector.substring( 1 ), "aria-controls": selector.substring( 1 ),
"aria-labelledby": anchorId "aria-labelledby": anchorId
}); });