我是js的新手,只学习了一个星期,所以要善待。下面的脚本会在点击类的.thumb链接时更改iframe的src以匹配同一iframe的自定义数据属性。
这很好用,但它目前正在更改所有iframe类的iframe src,父div类为.gallery。我只想更改.gallery的iframe src,其索引值与变量'clicked'相同。
//When an link with a class of .thumb is clicked
$(document).on('click', '.thumb', function () {
//variable index is the index of the links parent 'li'
var clicked = $(this).parent('li').index();
// Find iFrames of all .comm-gallery elements and alter their src to iframes data-src value
$('.gallery').find("iframe").prop("src", function(){
// Set their src attribute to the value of data-src
return $(this).data("src");
});
});
在过去的几个小时里我尝试了很多循环解决方案,但没有一个有效,而且我现在对js知之甚少,我想我是这个中最低的共同点。任何帮助将不胜感激!
答案 0 :(得分:3)
在返回data-src之前添加条件
$('.gallery').find("iframe").prop("src", function(){
if($(this).index() == clicked)
// Set their src attribute to the value of data-src
return $(this).data("src");
});
答案 1 :(得分:0)
jquery eq选择器就是你的追随者:
http://api.jquery.com/eq-selector/
所以这个:
$('.gallery').find("iframe").prop("src", function(){
// Set their src attribute to the value of data-src
return $(this).data("src");
});
变为:
$('.gallery').find("iframe").eq(clicked).prop("src", function(){
// Set their src attribute to the value of data-src
return $(this).data("src");
});
答案 2 :(得分:0)
你要选择具有'gallery'css类的元素,其中包含点击li的索引。
$(document).on('click', '.thumb', function () {
var clicked = $(this).parent('li').index();
$('.gallery').eq(clicked).find("iframe").prop("src",function({
return$(this).data("src");
});
});