如何从有序列表中选择一个列表元素?

时间:2016-03-21 17:56:56

标签: javascript jquery html

我有一个视频标题列表。它们是可点击的链接。它们按有序列表排列。

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);
});

我可以将videoChoice的id分配给ol,li或a。我得到了一个像这样的id标签:

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

}

如果将id分配给li或a,我可以使用语音命令,视频将播放。问题是,此方法返回列表中的一个特定视频。所以我把我的id标签移到了ol。这将返回完整的有序列表。问题是我无法弄清楚如何按索引号选择列表元素。我知道如何通过索引号从数组中选择一个元素,但是我似乎需要一个不同的方法。

那么如何从有序列表中选择一个列表元素呢?

正如答案中所提到的,.eq()Jquery方法是一种很好的方法。我实现了该方法,但还必须通过添加&#39; a&#39;来指定它是一个链接。这使它可以点击。

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

2 个答案:

答案 0 :(得分:1)

  

我无法弄清楚如何按索引编号选择列表元素

如果这是您的问题,您可以使用jquery eq()方法轻松选择列表元素

例如:FIDDLE

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

答案 1 :(得分:0)

如果您尝试按索引进行选择,请查看以下内容:

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

您可以使用eq选择器按索引进行选择,因此如果您尝试选择列表中的第三项,则选择器将如下所示:

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

为方便起见,JSFiddle。

https://jsfiddle.net/tyatm27b/