javascript
  • jquery
  • html
  • 2016-03-21 138 views 0 likes 
    0

    我有一個視頻標題列表。他們是可點擊的鏈接。它們按有序列表排列。如何從有序列表中選擇一個列表元素?

    function showResults(results) { 
        var html = ''; 
        html = "<ol>"; 
         $.each(results, function(index,value) { 
         html += '<li><a data-video-type="https://www.youtube.com/embed/' + value.id.videoId + '?autoplay=1"><img src="' +value.snippet.thumbnails.medium.url + '">' + value.snippet.title + '</a>)</li>';  }); 
         html += "</ol>"; 
         $('#results').html(html); 
    }); 
    

    我可以爲ol,li或a分配一個videoChoice的id。我得到它的ID標籤的元素是這樣的:

    "play number *val" : function(val) { 
         var test = document.getElementById('videoChoice'); 
         test.click(); 
    
    } 
    

    如果ID賦予Li或者,我可以使用語音命令和視頻將發揮。問題是,這種方法返回列表中的一個特定的視頻。所以我將我的id標籤移到了ol。這將返回完整的有序列表。問題是我無法弄清楚如何通過索引號選擇列表元素。例如,我知道如何通過索引號從數組中選擇一個元素,但我似乎需要一個不同的方法。

    那麼如何從一個有序列表中選擇一個列表元素?

    SOLUTION

    由於在答案中提到,在.EQ()jQuery的方法是做到這一點的好辦法。我實現了該方法,但必須通過添加'a'來指定它是一個鏈接。這使它可點擊。

    "play number *val" : function(val) { 
         var $ol = $('#videoChoice'); 
         var li = $ol.find('a','li').eq(val).click(); 
    } 
    

    回答

    1

    我無法弄清楚如何選擇一個通過索引號

    列表元素。如果這是你的問題,你可以使用jQuery eq()方法

    輕鬆地選擇列表元素

    如:FIDDLE

    var firstList = $('ul#id').find('li').eq(0); 
    
    +0

    這是工作的好工具,謝謝指出。我添加了一個'a'來明確說明我正在使用鏈接。這使它可點擊。 – PencilCrate

    +0

    很高興幫助! – ssilas777

    0

    如果你想通過指數來選擇,檢查了這一點:

    https://api.jquery.com/eq-selector/

    您可以通過索引使用EQ選擇器中選擇,因此,如果你想選擇第三項目,選擇器如下:

    var Selection = $('li:eq(2)'); 
    

    JSFiddle爲了您的方便。

    https://jsfiddle.net/tyatm27b/

    相關問題