jquery 使用视频ID和标题创建数组

dhxwm5r4  于 2023-06-22  发布在  jQuery
关注(0)|答案(2)|浏览(118)

我正在尝试创建一个循环,将创建一个视频缩略图,其中包含视频标题。
我现在已经设置了一个函数来获取ID,我可以得到一个循环来生成缩略图和链接,我如何写出数组或函数来包含标题?
这是我目前的布局。

var Ids = "id1,id2,id3";

 if (typeof Ids === 'undefined') { Ids = ""; }
 var vIds = Ids.split(",");

$.each(vIds, function(index,value) {

 $('.vrow').append('<button type="button" class="btn btn-link col-lg-2 col-md-2 col-sm-2 col-xs-6 vid vid'+index+'"><img src="https://img.youtube.com/vi/'+value+'/mqdefault.jpg" alt="" /><span><i class="fa fa-play"></i></span></button>');
 });

我确实尝试为标题使用一个单独的数组,但它只会创建更多的循环,并且不会呈现YT ID。
是否可以将数组同时用于ID和Title?如果是这样,我如何能够Map标题值?这会被认为是一个 * 多维数组 *?

var Ids = "id1,title1,id2,title2";
6qqygrtg

6qqygrtg1#

首先,ID之间不能用``隔开,否则你会得到id2而不是id2

var Ids = "id1,id2,id3";

要插入标题,您可以使用另一个不同的字符作为分隔符,例如:

var iDsWithTitle = "id1|title1,id2|title2,id3|title3";

请注意,标题可能包含,,因此您应该选择另一个分隔符,例如|
一个更好的方法是使用json字符串来存储这些数据,然后将其转换为您将循环的对象。

bqf10yzr

bqf10yzr2#

你可以像下面这样创建一个数组对象。然后每个对象将包含视频的信息。然后简单地遍历数组并引用视频的信息。

let videos = [
{"id": "id1","title": "Video Title 1"},
{"id": "id2","title": "Video Title 2"},
{"id": "id3","title": "Video Title 3"},
{"id": "id4","title": "Video Title 4"}
];

$.each(videos, function(index,video) {
  $('.vrow').append('<button type="button" class="btn btn-link col-lg-2 col-md-2 col-sm-2 col-xs-6 vid vid' + video.id + '"><img src="https://img.youtube.com/vi/' + video.id + '/mqdefault.jpg" alt="" /><span><i class="fa fa-play"></i></span></button>');

});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="vrow"></div>

相关问题