jQuery - 尚未被锚包围的环绕声图像

时间:2013-03-07 10:07:42

标签: javascript jquery html anchor

我在填写内容丰富的网站时遇到了问题。我们在内容中的所有图像上设置了一个灯箱。有意地在图像上设置了“灯箱”类,并且没有在图像周围创建链接。

所以我发现我可以使用jQuerys wrap()函数在内容区域的每个图像周围添加lightbox-image链接。可悲的是,它还包装已经被锚点包围的图像(例如PDF-Links)并覆盖它们。

我如何告诉jQuery只包含尚未成为锚标记一部分的内容中的图像?

我现在有以下内容:

<script type="text/javascript">
$(document).ready(function($){
$('article img').each(function(){
if ($('article img').hasClass('lightbox')){
$(this).removeAttr('class');
}
$(this).wrap('<a href="'+this.src.replace("http://www.mydomain.com","")+'" class="lightbox" rel="group1"></a>');
});
$('.lightbox').lightbox();
});
</script>

所以我从图像中移除了灯箱类,并在每个图像周围添加了一个锚点,其中src与图像相同(没有缩略图)。

2 个答案:

答案 0 :(得分:2)

LIVE DEMO

$('article img').each(function(){
  if( this.parentNode.tagName != 'A' ){
      $(this).removeClass('lightbox')
             .wrap('<a href="'+this.src.replace("http://www.mydomain.com","")+'" class="lightbox" rel="group1"></a>');
  }
});

答案 1 :(得分:0)

更改选择器

$('article>img').each(function(){