0

我有以下问题。我一直在手动移动大量内容,并且在插入图像时,我将灯箱类放在标签上 - 不幸的是,为了让图像正常工作,它们需要在它们周围有一个锚点,将 url 指定为完整图像大小 -例如

<a href="images/myimage.jpg" class="lightbox"><img src="images/myimage.jpg"></a>

我现在只有:

<img src="images/myimage.jpg" class="lightbox">

是否可以在特定<div>元素内找到的每个图像周围自动设置一个锚点并正确关闭它?我需要类似的东西

foreach 图像在<div>prepend<a href="this.image.src">和 append</a>

非常感谢 PHP 或 jQuery 中的任何解决方案!

4

4 回答 4

4

您可以使用 jQuery 的.wrap()方法:

$('div img').each(function(){
    $(this).wrap('<a href="'+this.src+'" class="lightbox"></a>');
});

演示:http: //jsfiddle.net/bztvw/

于 2013-02-22T17:18:55.563 回答
1

使用 jQuery .wrap()

 $.each($('img'), function(){
    $(this).wrap('<a href="'+$(this).attr('src')+'" class="lightbox"></a>')
 });

如果您指定这些图像的容器 div 会更好,然后只包装这些图像。像这样的东西:

$.each($('#lighboximgwrapper img'), function(){
    $(this).wrap('<a href="'+$(this).attr('src')+'" class="lightbox"></a>')
 });
于 2013-02-22T17:19:45.933 回答
0

使用正则表达式

图案:

<img(.*)src="([\w\/\.]+)"(.*)>

用。。。来代替:

<a href="$2" rel="fancybox"><img src="$2" alt="" /></a>

preg_replace PHP 函数

于 2013-02-22T17:20:32.377 回答
0

就个人而言,我会修复生成源代码的代码。只需在 IDE 中使用正则表达式查找/替换并修复源代码。不要依赖一些 javascript 或 PHP hack 来“修复”这个错误。

于 2013-02-22T17:44:10.680 回答