能否在jQuery UI Dialog的按钮上添加图标?我已经尝试过以下方法:
$("#DeleteDialog").dialog({
resizable: false,
height:150,
modal: true,
buttons: {
'Delete': function() {
/* Do stuff */
$(this).dialog('close');
},
Cancel: function() {
$(this).dialog('close');
}
},
open: function() {
$('.ui-dialog-buttonpane').find('button:contains("Cancel")').addClass('ui-icon-cancel');
$('.ui-dialog-buttonpane').find('button:contains("Delete")').addClass('ui-icon-trash');
}
});
在 "open" 函数中的选择器似乎运行得很好。如果我在 "open" 中添加以下内容:
$('.ui-dialog-buttonpane').find('button:contains("Delete")').css('color', 'red');
然后我会得到一个带有红色文本的删除按钮。这还不错,但我真的很想在删除按钮上也有小垃圾桶精灵图。
编辑:
我对被接受的答案进行了一些微调:
var btnDelete = $('.ui-dialog-buttonpane').find('button:contains("Delete")');
btnDelete.prepend('<span style="float:left; margin-top: 5px;" class="ui-icon ui-icon-trash"></span>');
btnDelete.width(btnDelete.width() + 25);
增加一些顶部边距可以将图标向下推,这样它看起来就像垂直居中了。 将按钮的宽度增加25像素可以防止按钮文本换行成第二行。