У меня есть URL-адрес изображения в переменной imageUrl
, и я пытаюсь установить его как стиль CSS, используя jQuery:
$('myObject').css('background-image', imageUrl);
Кажется, что это не работает, поскольку:
console.log($('myObject').css('background-image'));
возвращает none
.
Любая идея, что я делаю неправильно?
Вероятно, вы хотите это сделать (чтобы сделать его похожим на обычное декларацию фонового изображения CSS):
$('myOjbect').css('background-image', 'url(' + imageUrl + ')');
Вы хотите включить двойные кавычки (") до и после imageUrl следующим образом:
$('myOjbect').css('background-image', 'url("' + imageUrl + '")');
Таким образом, если изображение имеет пробелы, оно все равно будет установлено как свойство.
$('myObject').css('background-image', 'url(' + encodeURIComponent(imageUrl) + ')');
В качестве альтернативы тому, что другие правильно предлагают, проще всего переключать классы CSS, а не отдельные настройки CSS (особенно URL-адреса фоновых изображений). Например:
// in CSS
.bg1
{
background-image: url(/some/image/url/here.jpg);
}
.bg2
{
background-image: url(/another/image/url/there.jpg);
}
// in JS
// based on value of imageUrl, determine what class to remove and what class to add.
$('myOjbect').removeClass('bg1').addClass('bg2');
Вот мой код:
$('body').css('background-image', 'url("/apo/1.jpg")');
Наслаждайтесь, друг
В дополнение к другим ответам вы также можете использовать "фон". Это особенно полезно, если вы хотите установить другие свойства, относящиеся к способу использования изображения фоном, например:
$("myObject").css("background", "transparent url('"+imageURL+"') no-repeat right top");
Для тех, кто использует фактический URL, а не переменную:
$('myObject'). css ('background-image', 'url (../../example/url.html)');
Строковая интерполяция на помощь.
let imageUrl = 'imageurl.png';
$('myOjbect').css('background-image', `url(${imageUrl})`);
Попробуйте изменить атрибут "style":
$('myObject').attr('style', 'background-image: url("' + imageUrl +'")');
Работайте для меня
$('myOjbect').css('background-image', 'url(' + imageUrl + ')');
$('myObject').css({'background-image': 'url(imgUrl)',});