我目前有一个带有两个按钮(保存和关闭)的jQuery对话框。我使用以下代码创建对话框:
$dialogDiv.dialog({
autoOpen: false,
modal: true,
width: 600,
resizable: false,
buttons: {
Cancel: function() {
// Cancel code here
},
'Save': function() {
// Save code here
}
},
close: function() {
// Close code here (incidentally, same as Cancel code)
}
});
然而,当使用此代码时,两个按钮颜色相同。我希望我的“取消”按钮的颜色与我的“保存”按钮不同。是否有一种方法可以使用一些内置的jQuery选项来实现这一点?我在文档中没有得到太多帮助。
请注意,我创建的“取消”按钮是预定义类型,但我自己定义了“保存”。不确定这是否会对问题产生影响。
任何帮助都将不胜感激。谢谢。
更新:共识是有两种方法可行:
1.使用Firefox插件(如firebug)检查HTML,并注意jQuery应用于按钮的CSS类,并尝试覆盖它们。注意:在我的HTML中,两个按钮使用完全相同的CSS类和无唯一ID,因此此选项不适用。 2.在打开对话框时使用jQuery选择器捕获所需按钮,并添加CSS类。
我选择了第二个选项,并使用了jQuery find()方法,因为我认为这比使用:first或:first-child更合适,因为要更改的按钮不一定是标记中列出的第一个按钮。使用find,我只需指定按钮的名称,然后以此方式添加CSS。我最终使用的代码如下:
$dialogDiv.dialog({
autoOpen: false,
modal: true,
width: 600,
resizable: false,
buttons: {
Cancel: function() {
// Cancel code here
},
'Save': function() {
// Save code here
}
},
open: function() {
$('.ui-dialog-buttonpane').find('button:contains("Cancel")').addClass('cancelButtonClass');
}
close: function() {
// Close code here (incidentally, same as Cancel code)
}
});
className
更改为"class"
。 - Raphael Schweikert