如何删除背景图像属性?

mar*_*zzz 17 css jquery

我有这个代码:

if (pansel.val() == "1") 
     $(#myDiv).css('background-image', 'url(/private_images/guida_check_category.jpg)'); 
else 
     $(#myDiv).css({ 'background-color': '#ffffff' });
Run Code Online (Sandbox Code Playgroud)

我看到,当我应用背景图像时,遵循以下代码:

$(#myDiv).css({ 'background-color': '#ffffff' });
Run Code Online (Sandbox Code Playgroud)

不会删除图像并将白色背景颜色.图像仍然存在!

如何完全删除背景图像属性?

CdB*_*CdB 52

试试这个:

if (pansel.val() == "1") 
     $("#myDiv").css('background-image', 'url(/private_images/guida_check_category.jpg)'); 
else {
     $("#myDiv").css({ 'background-color': '#ffffff' });
     $("#myDiv").css('background-image', 'none');
}
Run Code Online (Sandbox Code Playgroud)


Noa*_*ore 6

这段代码......

$myDiv = $('#myDiv');
$myDiv.css('background-image', 'none');
Run Code Online (Sandbox Code Playgroud)

实际上不会删除 background-image属性.它将使jQuery为myDiv元素设置一个'background-image:none'的内联样式,这可能不是你想要的.

如果您稍后将类应用于使用背景图像的myDiv元素或尝试使用'background:url('...来设置背景图像,则内联样式将覆盖并且背景图像将不会显示.

要删除属性,我建议您只将"background-image"值设置为空,然后它将从内联样式中消失,您可以更轻松地操作它...

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
}
Run Code Online (Sandbox Code Playgroud)