获取Href并存储到数组jQuery中

时间:2012-01-17 23:46:07

标签: javascript jquery

如何获取每个视频的第一个视频并使用jQuery将它们存储到数组中?

HTML:

<div id="one">
    <ul class="thumbs">
        <li><a href="http://www.youtube.com/watch?v=-dzpkn29_vY"></a></li>
        <li><a href="http://www.youtube.com/watch?v=xFCRMonf7lI"></a></li>
    </ul>
</div>
<div id="two">
    <ul class="thumbs">
        <li><a href="http://www.youtube.com/watch?v=UBTUAHGpQqE"></a></li>
        <li><a href="http://www.youtube.com/watch?v=mTkPfjSXFpo"></a></li>
    </ul>
</div>

我认为获取链接会是这样的:

$('.thumbs li:first-child').attr("href");

但是如何获得它们并将它们存储到数组中?

2 个答案:

答案 0 :(得分:9)

var arr = $('.thumbs > li:first-child > a').map(function() {
    return this.href;
}).toArray();

答案 1 :(得分:0)

var arr = [];
$('#one, #two').find('.thumbs').each(function (index, element) {
    arr[arr.length] = $(this).find('a[href^="http://www.youtube.com/watch?v="]').eq(0).attr('href');
});

使用此类搜索的好处是只有链接到youtube的元素才会添加到数组中。

arr数组现在看起来像这样:

["http://www.youtube.com/watch?v=-dzpkn29_vY", "http://www.youtube.com/watch?v=UBTUAHGpQqE"]

请注意,从#one#two元素开始不是必需的(您可以从.thumbs开始)但是这会将搜索限制为仅限于那些元素(如果还有其他元素) DOM中的.thumbs元素。)

以下是演示:http://jsfiddle.net/fDQ2v/