ten kod ...
$myDiv = $('#myDiv');
$myDiv.css('background-image', 'none');
nie będzie faktycznie usunąć Właściwość background-image. Spowoduje to, że jQuery ustawi wbudowany styl "background-image: none" na element myDiv, który może nie być tym, czego potrzebujesz.
Jeśli później zastosujesz klasę do elementu myDiv, który używa obrazu tła lub spróbujesz użyć "background: url (" ... aby ustawić obraz tła, styl wstawiany zostanie zastąpiony, a obraz tła nie będzie wyświetlany
Aby usunąć właściwość, sugerowałbym, aby po prostu ustawić wartość "obrazu tła" na zero, a następnie zniknie ona ze stylu liniowego i można nim łatwiej manipulować ...
if (pansel.val() === "1") {
$myDiv.css('background-image', 'url(/private_images/guida_check_category.jpg)');
} else {
$myDiv.css('background-color', '#ffffff').css('background-image', '');
//the value will be set to white with the image 'empty', so it will disappear from inline styles
}
Tak, działa! Dzięki :) – markzzz
Należy pamiętać, że to nie będzie faktycznie _remove_ atrybut, to będzie po prostu dodać styl inline z 'background-image: none' - zobacz moją odpowiedź, jeśli chcesz faktycznie _remove_ atrybut –
używając składni słownika , obie zmiany można wprowadzić jednocześnie za pomocą: '$ (" # myDiv "). css ({'background-color':'ffffff ',' background-image ':' none '});' –