2011-01-12 26 views
0

我猜我剛纔打這一個心理障礙找到一個類的特定實例;也許一些新鮮的眼睛會有幫助。試圖通過數量

基本上我有點擊它通過jQuery呼的一下功能和造就了​​視頻的時候類「菜單項目」的幾個實例。而不是給每個上的ID以及一類,我試圖找到被點擊其中的類的實例(1,2,3,等)。 雖然似乎無法得到它。

//click listener for menu-items 
$('.menu-item').click(function(event) 
{ 
     var o = $('.menu-item'); 
     var count = o.length();      

    switch(count) 
    { 
     case 0 : 
     filename == 'letters'; 
     break; 
     case 1 : 
     filename == 'the-gift'; 
     break; 
    } 

    var videoPlayer = '<video controls width="618px">'; 
    videoPlayer += '<source src="_video/' + filename + '.mp4" />'; 
    videoPlayer += '</video>'; 

    //place video 
    $('#videoCont').html(videoPlayer); 
}); 

我想在那裏建立一個數組,其中的「菜單項」的每個實例是一個數組項。 (順便說一句,現在我只是用MP4文件類型打樣在此之前我在OGV和WEBM格式添加)。

感謝您的幫助!

+0

你確定你的意思`kQuery`而不是`jQuery`? LOL – 2011-01-12 02:54:25

+0

你是什麼意思*「哪個類的實例被點擊」*你的意思是指數實例嗎?或者還有其他的區別於其他`menu-item`元素的東西嗎? – user113716 2011-01-12 02:56:08

回答

1

除了@ p.campbell的解決方案。我不確定你的代碼是如何工作的。

var o = $('.menu-item')

總是會返回相同數量的項目,與菜單項作爲類項目,即數量。爲什麼不設置一個像文件名一樣的屬性爲任何合適的值。像這樣

<li class='menu-item' filename='letters'>Letters</li> 

,然後在單擊處理程序,你可以做

var filename = $(this).attr('filename'); 
1

看樣子你不是實際值分配給您的變量filename。您只是將變量的值與硬編碼字符串進行比較,但不會將該(真/假)分配回任何內容。

有可能你是這個意思?

switch(count) 
{ 
    case 0 : 
    filename = 'letters'; 
    break; 

    case 1 : 
    filename = 'the-gift'; 
    break; 
} 
+0

不錯的拿起! +1 – 2011-01-12 03:17:58