Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 获取Href并存储到数组jQuery中_Javascript_Jquery - Fatal编程技术网

Javascript 获取Href并存储到数组jQuery中

Javascript 获取Href并存储到数组jQuery中,javascript,jquery,Javascript,Jquery,如何获取每个视频的第一个youtube视频,并使用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.co

如何获取每个视频的第一个youtube视频,并使用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>
但是如何获取这两个数据并将它们存储到一个数组中呢

var arr = $('.thumbs > li:first-child > a').map(function() {
    return this.href;
}).toArray();
使用这种类型的搜索的好处是,只有链接到youtube的元素才会添加到数组中

arr
数组现在将如下所示:

["http://www.youtube.com/watch?v=-dzpkn29_vY", "http://www.youtube.com/watch?v=UBTUAHGpQqE"]
请注意,不需要从
#一个
#两个
元素开始(可以从
.thumbs
开始),但是这将搜索限制为仅搜索这些元素(如果DOM中有其他
.thumbs
元素)


这里有一个演示:

Uhmm,如果这是一个愚蠢的问题,很抱歉-但是使用
arr[arr.length]
而不是
.push()
有什么理由吗?我认为每次迭代中额外的属性访问会对性能产生负面影响?调用
。push
是不必要的函数调用。在旧浏览器中使用
arr[arr.length]
会加快速度(在新浏览器中,我认为
.push
实际上更快,但旧浏览器比新浏览器更需要帮助)。这根本不是一个愚蠢的问题。至少在运行chrome nighty时,根本没有可测量的差异。Firefox甚至可以更快地处理
.push()
。这种影响在任何情况下都可以忽略不计。编辑:啊,旧的浏览器。这个JSPerf删除了额外的代码(在不同的浏览器中会有不同的表现):。在IE8或IE7中运行此JSPerf,并且
.push()
会慢一些。Awww。我想这是我今天看到的最优雅的解决方案之一。帽子尖,伙计!
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');
});
["http://www.youtube.com/watch?v=-dzpkn29_vY", "http://www.youtube.com/watch?v=UBTUAHGpQqE"]