2012-07-19 53 views
2

我试图制作一个简单的脚本,将rel =“lightbox”添加到带有.jpg或.gif的href链接中。有人能帮我吗?我看不出错误。谢谢。将rel =“lightbox”添加到带有.jpg和.gif的链接中

<script type="text/javascript"> 

     $('a[href*=".jpg"]').each(function() { 
      $('a[href*=".gif"]').each(function() { 
       $(this).attr('rel','lightbox'); 
      }); 
     }); 

</script> 
+1

您先过滤.JPG,然后为每个.JPG图像添加'lightbox'属性到所有.GIF。 – 2012-07-19 21:45:51

回答

4

您针对的是包含BOTH'.jpg'和'.gif'的href属性的链接。尝试与以“.JPG”或“.gif注意”端的href属性定位链接:

<script type="text/javascript"> 
     $('a[href$=".jpg"], a[href$=".gif"]').each(function() { 
      $(this).attr('rel','lightbox'); 
     }); 
</script> 

更新 要运行脚本当DOM准备就绪后,附加功能的domready中事件:

<script type="text/javascript"> 
$(document).ready(function() { 
     $('a[href$=".jpg"], a[href$=".gif"]').each(function() { 
      $(this).attr('rel','lightbox'); 
     }); 
}); 
</script> 
+0

我也试过。当页面加载时,我检查了源代码,并且在我的a标签中没有rel =“lightbox”属性。你知道为什么? – Keller 2012-07-19 21:45:15

+1

源代码无法跟上动态dom更改 - 最好使用浏览器debubgging工具来检查元素。 – 2012-07-19 21:46:30

+1

如果您只是在浏览器中查看源代码,则会看到代码是在应用任何脚本之前下载的。使用像firebug这样的开发者控制台来检查DOM的当前状态。 – rawb 2012-07-19 21:46:44