Как удалить атрибут фонового изображения?
У меня есть этот код:
if (pansel.val() == "1")
$(#myDiv).css('background-image', 'url(/private_images/guida_check_category.jpg)');
else
$(#myDiv).css({ 'background-color': '#ffffff' });
и я вижу, что, применяя фоновое изображение, следующий код:
$(#myDiv).css({ 'background-color': '#ffffff' });
не удаляет изображение и не помещает белый цвет фона. Изображение все еще присутствует!
Как полностью удалить этот атрибут background-image?
Ответы
Ответ 1
Попробуйте следующее:
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');
}
Ответ 2
Этот код...
$myDiv = $('#myDiv');
$myDiv.css('background-image', 'none');
фактически не удалит свойство background-image. Это заставит jQuery установить встроенный стиль "background-image: none" в элемент myDiv, который может быть не таким, каким вы хотите.
Если вы позже примените класс к элементу 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
}
Ответ 3
background:0
удалит весь фон css
Ответ 4
$('*').css('background', 'transparent')
см.: Удалить цвет фона/изображения для всех элементов с помощью jQuery
Ответ 5
Если вы хотите полностью удалить атрибут стиля, вы можете сделать что-то вроде этого
var oDiv = document.getElementById("myDiv");
oDiv.style.removeProperty("background-color");
Я обнаружил, что настройка прозрачности создает некоторые нечетные конфликты, если позже вы выполняете другие операции с цветом в этой области. Удаление атрибута работает лучше, если вы пытаетесь вернуться к некоторым настройкам по умолчанию, указанным в вашем css.
Ответ 6
Получить, установить и удалить фоновое изображение Div в jQuery
Получить фоновое изображение
Вы можете использовать приведенный ниже код для получения фонового изображения в jQuery.
$(".btn-get").click(function() {
var bg = $('div').css('background-image'); // get background image using css property
bg = bg.replace('url(','').replace(')','');
alert(bg); });
Установить фоновое изображение
Вы можете использовать приведенный ниже код для установки фонового изображения с помощью свойства jQuery CSS.
$(".btn-set").click(function() {
var img = 'http://www.tutsmake.com/wp-content/uploads/2019/08/How-to-Encode-Decode-a-URL-Using-JavaScript.jpeg';
var bg = $('div').css('background-image',"url(" + img + ")");
});
Удалить фоновое изображение
Вы можете использовать приведенный ниже код для удаления фонового изображения с помощью свойства jQuery CSS.
$(".btn-remove").click(function() {
var bg = $('div').css('background-image','none');
});