diff --git a/ui/jquery.ui.button.js b/ui/jquery.ui.button.js
index e19a68bfe..d2458aa3c 100644
--- a/ui/jquery.ui.button.js
+++ b/ui/jquery.ui.button.js
@@ -289,27 +289,32 @@ $.widget( "ui.button", {
.appendTo( buttonElement.empty() )
.text(),
icons = this.options.icons,
- multipleIcons = icons.primary && icons.secondary;
+ multipleIcons = icons.primary && icons.secondary,
+ buttonClasses = [];
+
if ( icons.primary || icons.secondary ) {
- buttonElement.addClass( "ui-button-text-icon" +
- ( multipleIcons ? "s" : ( icons.primary ? "-primary" : "-secondary" ) ) );
+ buttonClasses.push( "ui-button-text-icon" + ( multipleIcons ? "s" : ( icons.primary ? "-primary" : "-secondary" ) ) );
+
if ( icons.primary ) {
buttonElement.prepend( "" );
}
+
if ( icons.secondary ) {
buttonElement.append( "" );
}
+
if ( !this.options.text ) {
- buttonElement
- .addClass( multipleIcons ? "ui-button-icons-only" : "ui-button-icon-only" )
- .removeClass( "ui-button-text-icons ui-button-text-icon-primary ui-button-text-icon-secondary" );
+ buttonClasses.push( multipleIcons ? "ui-button-icons-only" : "ui-button-icon-only" );
+ buttonElement.removeClass( "ui-button-text-icons ui-button-text-icon-primary ui-button-text-icon-secondary" );
+
if ( !this.hasTitle ) {
buttonElement.attr( "title", buttonText );
}
}
} else {
- buttonElement.addClass( "ui-button-text-only" );
+ buttonClasses.push( "ui-button-text-only" );
}
+ buttonElement.addClass( buttonClasses.join( " " ) );
}
});