Итак, у меня есть диалог 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? Я не получил большую помощь от документации.
Обратите внимание, что кнопка "Отмена", которую я создаю, является предопределенным типом, но "Сохранить" я определяю сам. Не уверен, что это повлияет на проблему.
Любая помощь будет оценена по достоинству. Спасибо.
ОБНОВЛЕНИЕ: Консенсус состоял в том, что здесь было две дороги:
- Осмотрите HTML с помощью Firefox плагин, например firebug, и обратите внимание классы CSS, которые jQuery применяя к кнопкам, и ударить их. Примечание: в мой HTML, обе кнопки были использованы точно такие же классы CSS и уникальные ID, поэтому этот параметр отсутствовал.
- Использовать селектор jQuery при открытии диалога чтобы поймать кнопку, которую я хотел, и затем добавьте к нему класс CSS.
Я пошел со вторым вариантом и использовал метод jQuery find(), поскольку я думаю, что это более удобно, чем использование: first или: first-child b/c кнопка, которую я хотел изменить, не обязательно была первой кнопка, указанная в разметке. Используя 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)
}
});