开发者社区> 问答> 正文

a标签里有img,如何用jquery方法自动给a标签加rel="lightbox"

如题,我用了一个lightbox插件,现在往wordpress上传图片后,希望用户访问时,自动给a标签加rel=“lightbox”
不知道用jquery该怎么写?
目前只找到一些线索$(".post-content a:has(img)").lightBox();
但我用的是【slimbox2】,参考地址:http://www.digitalia.be/software/slimbox2
所以lightBox()对我来说没有用。所以请教高手该怎么改,才可以实现标题所说的东西。

我刚刚试了下

     <html>
<head>
<script type="text/javascript" src="http://www.w3school.com.cn/jquery/jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$(".post a:has(img)").attr({'rel':'lightbox'});

});
</script>
</head>
<body>
<div class="post">
<a href="#" rel="aa"><img src="/i/eg_smile.gif" /></a>

</div>
</body>
</html>

这段代码在w3chool里面,点击提交按钮后,可以把aa替换成lightbox,但是在自己的电脑上刷新。。。竟然不会把aa替换成lightbox

该怎么办呢?只成功了一半。
多谢帮助,我刚才终于明白不变化的原因了。我之前一直用查看源代码去看aa的变化,可是一直没变化,但是用F12去看的话,aa竟然已经发生改变了。真是神奇。

展开
收起
云栖技术 2016-05-25 10:47:17 2398 0
1 条回答
写回答
取消 提交回答
  • 社区爱好者,专为云栖社区服务!

    $('.post a').attr('rel', 'lightbox');

    理论上jQuery在页面DOM树加载完成以后会立刻修改DOM树,点击事件在此事件之后,点击的时候会重新遍历DOM树,应该不会出现你描述的问题。你可以再仔细看看lightbox的文档,是否在DOM数刚载入完全就把符合要求节点都存下来了;如果是这样的话应该也会提供方法刷新这些节点。

    2019-07-17 19:13:47
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载