首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何更改rss框中的每个url?

如何更改rss框中的每个url?
EN

Stack Overflow用户
提问于 2015-09-23 19:55:42
回答 1查看 40关注 0票数 0

我有一个wordpress网站,可以在这里找到:

http://neocsatblog.mblx.hu/

在右侧,您可以看到以下链接:

这个url来自我的youtube rss chanel (上传播放列表),网址是:

id=UCxnFBx6UhZS25Poa5-ZeeNg

我想修改这个链接,因为我可以在灯箱中显示视频。

例如,我想转到这个链接:

https://www.youtube.com/watch?t=2&v=yYNcwFIwCpU

对此:

http://www.youtube.com/embed/yYNcwFIwCpU?autoplay=1

所以我为它写了一个剧本:

代码语言:javascript
复制
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。

我怎么才能解决这个问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-09-23 20:12:28

您正在使用each循环所有实例,但是在each中将所有链接设置为同一个url。

另外,您在str中存储的值是第一个匹配选择器的href。

thiseach中是元素集合的实例,所以请尝试:

代码语言:javascript
复制
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)

代码语言:javascript
复制
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;           
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32748379

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档