2013-03-11 25 views
1

我是js的新手,只學了一週左右,所以請友好。下面的腳本改變了iframe的src,以便在單擊.thumb類的鏈接時匹配同一iframe的自定義數據屬性。JQuery - 將變量的值傳遞給類的索引值

這工作正常,但它目前正在改變所有iframe的所有類的iframe src與.gallery的父級div類。我只是想用與'clicked'變量相同的索引值來更改.gallery的iframe src。

//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,我想,我在這的最小公分母。任何幫助將不勝感激!返回數據-SRC之前

+0

你嘗試'像'$ .eq'( '畫廊')。找到( 「IFRAME」)。EQ(點擊).prop(..'? – 2013-03-11 17:45:18

+0

已經接受了對方的回答,但是這 – 2013-03-11 18:09:37

+0

如果'.eq'對你有用,那麼我建議你就這樣做,它更像是迭代1項和迭代所有項目並比較索引。 – 2013-03-11 18:22:39

回答

3

添加條件

$('.gallery').find("iframe").prop("src", function(){ 
if($(this).index() == clicked) 
    // Set their src attribute to the value of data-src 
    return $(this).data("src"); 
}); 
+0

'.eq'似乎比做內部比較要好很多,那就是如果我正確理解它的話 – 2013-03-11 17:46:38

+0

感謝您的快速響應! 。我試圖實現的每個方法!謝謝謝謝謝謝!我會+1你但它不會允許我,因爲我是一個noob與低代表,所以我希望「你真棒」會做! – 2013-03-11 17:51:05

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"); 
}); 
+0

謝謝!要花幾個小時坐下來,瞭解這是它顯然是js的一個基本組成部分。我上週學習的js在基礎知識和小生境之間交錯,這不是最好的方法。 – 2013-03-11 20:54:10

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"); 
}); 
}); 
+0

謝謝!欣賞它! – 2013-03-11 20:54:38