请原谅我缺乏知识,但我对JS很新。我在网站上显示Instagram Feed,需要将图像的title属性插入到包装链接中,以将其显示为灯箱标题。 我的解决方案到目前为止工作,但问题是,第一个图像的标题插入到每个链接而不仅仅是包含链接。
剧本:
function (){
$('#instapics a').lightBox();
jQuery('#instapics a img').each(function () {
$('#instapics a').attr('title', $(this).attr('title'));
});
}
html:
<div id="instapics">
<a href="#">
<img title="IMG title 1" src="xxx">
</a>
<a href="#">
<img title="IMG title 2" src="xxx">
</a>
...
</div>
这会在两个链接中插入“IMG标题2”。但我需要第一个“IMG标题1”,第二个是“IMG标题2”,第三个是“IMG标题3”,依此类推。我错过了什么?
我期待着一些有用的提示。
答案 0 :(得分:4)
jQuery('#instapics a img').each(function () {
$(this).parent().attr('title', $(this).attr('title'));
}); // add it to the parent of img which is a
您也可以使用this.title
代替jQuery的$(this).attr('title')
。
答案 1 :(得分:1)
这是因为你正在选择所有的锚点而不是你当前正在处理的锚点。
$('#instapics a').attr(
需要
$(this).attr(
您应该使用prop()
代替attr()
答案 2 :(得分:0)
您可以使用此代码:
$( "#instapics a" ).attr( "title", function() { //Will loop in every a's
return $(this).find('img').attr('title'); //Return img title to change the a title.
});
<强> Fiddle 强>