所以我试图得到每个div的背景图像网址,其中包含类"客户端"在里面。从那里我想把这个URL放到一个href并包裹另一个元素,这样我就可以让它弹出一个灯箱。
我已经做到这一点,但它似乎只抓住了第一个网址然后将其应用于所有元素。
// Make client rotator pop-up and get image url
jQuery(document).ready(function(){
jQuery('.client').each(function(index, el) {
var bgurl = $('.bg-cover').css('background-image');
if(bgurl != 'none') {
bgurl = bgurl.replace('url("','').replace('")','');
jQuery('.client .flex_cell_inner').wrapInner('<a href="'+ bgurl +'" rel="lightbox"></a>');
};
});
});
这是该网站的URL。转到底部附近主页的客户部分:http://staging.idgadvertising.com/locationconnection/
答案 0 :(得分:2)
试试这个。如果您正在尝试获取每个项目的背景图像,则应使用$(this)
引用循环中的当前项(在这种情况下,每个.client
div,当您循环它们时)。您现在的方式是引用页面上每个.client
div的集合。
$(document).ready(function(){
$('.bg-cover').each(function(index, el) {
var bgurl = $(this).css('background-image');
if (bgurl != 'none') {
bgurl = bgurl.replace('url("','').replace('")','');
$($('.client .flex_cell_inner')[index]).wrapInner('<a href="'+ bgurl +'" rel="lightbox"></a>');
};
});
});
答案 1 :(得分:0)
bgurl
在每次迭代中都是相同的,因为它总是相同的选择器.bg-cover
如果有很多它总是需要第一次出现,你说你想要背景图像.client
你可以使用$(this)来引用迭代中的当前元素
var bgurl = $(this).css('background-image');