Происходит две вещи:
1) Вы должны проверить, что он не определен, с помощью функции typeof
в javascript, например так:
$('.bgAnchor').each(function(){
if($(this).is(":visible")){
var data_style = $(this).attr('data-style');
if(typeof data_style!== 'undefined' && data_style!== false){
var attr_image = $(this).attr("data-style");
alert(attr_image);
$(this).css('background', attr_image).removeAttr("data-style");
}
}
});
(для хорошегообъяснение причины см. в этом ответе о typeof
2) Вы пытаетесь слишком сильно перейти в "фоновый" стиль с помощью вызова $(this).css('background', attr_image)
.Итак, вам нужно изменить свой атрибут стиля данных следующим образом:
<div class="bgAnchor" data-style="url('http://it.bing.com/az/hprichbg?p=rb%2fNewRiverGorgeBridge_ROW468427072.jpg') no-repeat"></div>
Если вы хотите установить background-position и т. Д., Вы можете сделать это в css для ВСЕХ элементов .bgAnchor, ИЛИМожно добавить новый стиль данных для background-position, но вы не можете втиснуть background-position и background в свойство background css.