我有一个wordpress网站,可以在这里找到:
http://neocsatblog.mblx.hu/
在右侧,您可以看到以下链接:

这个url来自我的youtube rss chanel (上传播放列表),网址是:
我想修改这个链接,因为我可以在灯箱中显示视频。
例如,我想转到这个链接:
对此:
http://www.youtube.com/embed/yYNcwFIwCpU?autoplay=1
所以我为它写了一个剧本:
jQuery(document).ready(function() {
str = jQuery("#rss-4 ul li a").attr("href");
jQuery("#rss-4 ul li a").each(function() {
jQuery("#rss-4 ul li a").attr("href",str.replace(/(youtube.com)\/watch\?v\=|(youtu.be)\//g, "youtube.com/embed/"));
jQuery( '#rss-4 ul li a' ).attr( 'href', function(index, value) {
return value + '?autoplay=1';
});
//Lightview class need for the lightbox
jQuery("#rss-4 ul li a").addClass("lightview");
});
});不幸的是,这个剧本没有做正确的事情。
它做什么?
脚本替换所有链接url 到最新的视频url (列表中的第一项)。
在这种情况下,请将所有url保存到
"Puzsér szár aranyért sem adná“
链接url。
我怎么才能解决这个问题?
发布于 2015-09-23 20:12:28
您正在使用each循环所有实例,但是在each中将所有链接设置为同一个url。
另外,您在str中存储的值是第一个匹配选择器的href。
this在each中是元素集合的实例,所以请尝试:
jQuery("#rss-4 ul li a").each(function() {
var str = this.href;
str = str.replace(/(youtube.com)\/watch\?v\=|(youtu.be)\//g, "youtube.com/embed/");
str +='?autoplay=1';
// only change the current element
jQuery(this).attr("href", str);
});-或使用attr(function)
jQuery("#rss-4 ul li a").attr('href',function(_, oldHref) {
var str = oldHref.replace(/(youtube.com)\/watch\?v\=|(youtu.be)\//g, "youtube.com/embed/");
str +='?autoplay=1';
return str;
});https://stackoverflow.com/questions/32748379
复制相似问题