jQuery动态生成图片href问题:所有图片链接复用首个图片src
问题解决:为每张图片绑定对应src的外层a标签
你的问题出在获取src的方式上:$(".images img").attr('src')只会返回匹配到的第一个图片的src值,导致所有图片的外层a标签都复用了这个值。
要为每张图片绑定自身对应的src作为a标签的href,需要遍历每个图片元素,单独处理:
方法一:使用.each()遍历
jQuery(function($) { $('.images img').each(function() { // 获取当前图片的src var src = $(this).attr('src'); // 用当前src生成a标签包裹图片 $(this).wrap('<a href="' + src + '"></a>'); }); });
方法二:利用.wrap()的函数参数(更简洁)
jQuery(function($) { $('.images img').wrap(function() { // 为每个图片返回对应的包裹a标签 return '<a href="' + $(this).attr('src') + '"></a>'; }); });
两种写法的核心都是通过$(this)指向当前处理的单个图片元素,从而获取各自独有的src属性值,避免复用同一个值。
内容的提问来源于stack exchange,提问作者Filipe Souza
相关产品推荐
相关产品推荐

