使用jQuery,我创建了一个简单的灯箱,可以在点击缩略图时加载图像。
我试图通过将缩略图src存储为加载主库图像的变量来使灯箱工作。但是,该变量需要src删除的'/ thumbs'部分才能找到更大的图库图像。
我已经对这个问题的变体做了很多回答,但我试图模仿结果似乎没有任何效果。
我已经达到了这个目标:
$("#attractions-dave li a").live("click", function showAttraction(e){
var example = $(this).children('img').attr('src', $(this).children('img').attr('src').replace('/thumbs',''));
});
作为参考,相关的html是:
<ul id="attractions-dave">
<li>
<a href="../attractions/attractions.php">
<img src="../images/photos/bouncy-castles/thumbs/happyclown.jpg" alt="happy clown castle" />
</a>
</li>
</ul>
获得变量后,我使用它来设置背景图像,使用以下代码:
$('#example').css('background-image', 'url(' + example + ')');
截至目前,代码根本不会向元素添加任何背景css。
我没有收到任何关于此代码的错误,但很明显,该变量(修改后的缩略图src)未被识别。
如果有人能看到我出错的地方,那么任何帮助都会非常感激。
答案 0 :(得分:3)
我认为你需要防止默认行为:
$("#attractions-dave li a").live("click", function showAttraction(e) {
e.preventDefault();
var example = $(this).children('img').attr('src', $(this).children('img').attr('src').replace('/thumbs', ''));
});
答案 1 :(得分:2)
example
是一个jQuery对象。你需要这样做:
var example = $(this).children('img').attr('src').replace('/thumbs','');