删除部分图像src

时间:2013-07-17 12:02:10

标签: jquery image replace src

使用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)未被识别。

如果有人能看到我出错的地方,那么任何帮助都会非常感激。

2 个答案:

答案 0 :(得分:3)

我认为你需要防止默认行为:

http://jsfiddle.net/eYJ7L/

$("#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','');