0

我在页面上有一系列 YouTube 网址,每个网址看起来都像以下之一:

<iframe width="640" height="360" src="//www.youtube.com/embed/XFMjR2SgEP0?list=PLd4hww6QWFS5HMUQzSs3r-90jMRtCiCdi" frameborder="0" allowfullscreen></iframe>

<iframe width="640" height="360" src="//www.youtube.com/embed/DVPP1elkhKU" frameborder="0" allowfullscreen></iframe>

如您所见,上面的第一个标签在 URL 的末尾有一个 'list' 参数;第二个标签在 URL 上没有参数。

我需要使用 jQuery 将一个新参数 , 附加showinfo=0到页面上的每个 YouTube URL。显然,这需要在?or之前&,这取决于它之前是否有其他参数。

如何?

4

2 回答 2

2

检查是否存在问号并适当附加:

$('iframe').attr('src', function(idx, src) {
    return src + (src.indexOf('?') > -1 ? '&' : '?') + 'showinfo=0';
});
于 2013-09-27T20:21:56.233 回答
0

你知道.attr()可以使用回调函数吗?

$('iframe[src*="youtube.com"]').attr('src', function (i, str) {
    return (str.match(/\?/)) ? str+'&showinfo=0' : str+'?showinfo=0';
});

http://jsfiddle.net/mblase75/6rU​​aE/

于 2013-09-27T20:21:20.563 回答