Więc obecnie mam okno dialogowe jQuery z dwoma przyciskami: Zapisz i Zamknij. Tworzę okno dialogowe za pomocą poniższego kodu:
$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)
}
});
Jednak oba przyciski mają ten sam kolor, gdy używany jest ten kod. Chciałbym, aby mój przycisk Anuluj miał inny kolor niż mój Zapisz. Czy istnieje sposób, aby to zrobić za pomocą niektórych wbudowanych opcji jQuery? Dokumentacja nie pomogła mi zbytnio.
Zwróć uwagę, że przycisk Anuluj, który tworzę, jest wstępnie zdefiniowanym typem, ale „Zapisz” definiuję siebie. Nie jestem pewien, czy będzie to miało jakiś wpływ na problem.
Każda pomoc będzie mile widziana. Dzięki.
AKTUALIZACJA: Konsensus był taki, że istnieją dwie drogi do podróży:
- Sprawdź kod HTML za pomocą wtyczki Firefox, takiej jak firebug , i zwróć uwagę na klasy CSS, które jQuery stosuje do przycisków, i spróbuj je zastąpić. Uwaga: w moim kodzie HTML oba przyciski miały dokładnie te same klasy CSS i żadnych unikalnych identyfikatorów, więc ta opcja nie była dostępna.
- Użyj selektora jQuery w otwartym oknie dialogowym, aby złapać przycisk, który chciałem, a następnie dodaj do niego klasę CSS.
Wybrałem drugą opcję i użyłem metody find () jQuery, ponieważ uważam, że jest to bardziej odpowiednie niż użycie: first lub: first-child b / c przycisk, który chciałem zmienić, niekoniecznie był pierwszym przyciskiem wymienionym w znaczniki. Korzystając z funkcji find, mogę po prostu określić nazwę przycisku i w ten sposób dodać CSS. Kod, który otrzymałem, znajduje się poniżej:
$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
na"class"
.