获取imagename并使用jQuery从<img/>建立链接

时间:2010-12-27 14:45:37

标签: jquery image fancybox

使用jQuery,我想在可点击的网站上的特定路径下制作所有图片,并使用Fancybox显示一个大图片,这是一个lighbox jQuery的变体插件。

我的小图片位于“images / products / small”下,“images / products / big”下的大图片,图片名称始终相同< / p>

该页面显示的图像包含以下代码:

<img src="images/products/small/hat.jpg" alt="Nice hat">

我想要的是一些jQuery脚本,使其成为:

<a href="images/products/big/hat.jpg" class="fancybox"><img src="images/products/small/hat.jpg" alt="Nice hat"></a>

也许可以跳过链接标记上设置类的部分,只需使用 $(elm).fancybox();

直接在元素上激活fancybox

我正在四处寻找它看起来像jQuery函数“attr”“wrap”可能会有用,但是我目前有限的jQuery技能我可以真的把点连接起来。

1 个答案:

答案 0 :(得分:2)

您想查找所有图片,然后如您所料,如果您真的想要修改结构,可以使用wrap

$('some_parent_selector img[src*=/small]').wrap(function() {
    return "<a href='" + this.src.replace("/small", "/large") + "' class='fancybox'/>";
});

Live example(一旦你点击按钮,元素就会被包裹;这可能不会在视觉上立即明显,但是如果你使用Firebug或Dev Tools甚至只是点击它们......)。

你使用attr,btw正确的方向,但是src属性是HTMLImageElement DOM对象上反映为属性的属性之一,所以你不需要使用attr