jQuery如何将函数中每个循环的静态变量替换为动态变量
我在这里使用jQuery提要脚本: 下面是一个使用jquery的工作html页面,它从html列表中的链接列表中提取指向RSS提要的链接,并将它们传递给提要函数,该函数将它们显示在页面上的div中 我的问题是,我想动态创建URL数组,从页面itsel(一个listoflinks)上的内容传递给feeds函数(我已经这样做了),但不是一次传递一个URL数组listoflinks[0],而是在listoflinks中传递整个数组。我如何修改它来处理任意数量的链接而不是指定的数组大小,我知道我应该执行foreach循环,但不确定它应该放在哪里才能工作。当前,每个链接都通过$listoflinks[0]、$listoflinks[1]、$listoflinks[2]等传递给feeds函数jQuery如何将函数中每个循环的静态变量替换为动态变量,jquery,html,rss,feed,Jquery,Html,Rss,Feed,我在这里使用jQuery提要脚本: 下面是一个使用jquery的工作html页面,它从html列表中的链接列表中提取指向RSS提要的链接,并将它们传递给提要函数,该函数将它们显示在页面上的div中 我的问题是,我想动态创建URL数组,从页面itsel(一个listoflinks)上的内容传递给feeds函数(我已经这样做了),但不是一次传递一个URL数组listoflinks[0],而是在listoflinks中传递整个数组。我如何修改它来处理任意数量的链接而不是指定的数组大小,我知道我应该执行
<!DOCTYPE html>
<head>
<!-- Include jQuery -->
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<!-- Load moment.js, used to format dates, totally optional -->
<script src="http://cdnjs.cloudflare.com/ajax/libs/moment.js/1.6.2/moment.min.js" charset="utf-8"></script>
<!-- Load jQuery Feeds -->
<script src="js/jquery.feeds.min.js" charset="utf-8"></script>
<script type="text/javascript">
// A $( document ).ready() block.
$(document).ready(function() {
console.log( "ready!" );
var listoflinks = [];
$(".field-name-field-news ul li a").each(function() { listoflinks.push("http:" + $(this).attr("href")) });
//console.log(listoflinks[0]);
$('.feed').feeds({
feeds : {
// uniquename: "https://www.domain.com/rss",
option0: listoflinks[0],
option1 : listoflinks[1],
option2 : listoflinks[2],
option3 : listoflinks[3],
},
preprocess : function(feed) {
// Using moment.js to diplay dates as time ago
this.publishedDate = moment(this.publishedDate).fromNow();
},
entryTemplate : 'entryTmpl',
// onComplete : function(entries) {
// $(this).find('a').attr('target', '_blank');
// }
});
});
</script>
</head>
<body>
<script type="text/html" id="entryTmpl">
<article class="<!=source!> entry">
<p>
<a class="link" href="<!=feedLink!>" title="<!=feedDescription!>"> <!=feedTitle!></a>
<span class="publishedDate"><!=publishedDate!></span>
</p>
<p class="author"><!=author!></p>
<div class="content"><!=content!></div>
<div class="mediagroup">mediaGroup: <!=mediaGroup!></div>
<div class="categories">categories: <!=categories!></div>
<div class="feedauthor">feedAuthor<!=feedAuthor!></div>
</article>
</script>
<div class="field field-name-field-news field-type-link-field field-label-hidden">
<div class="field-items">
<div class="field-item even"><div class="item-list">
<ul><li class="first"><a href="//www.filmschoolrejects.com/feed">Filmmaking Tips | Film School Rejects</a></li>
<li><a href="//www.filmmakingstuff.com/feed/">Filmmaking Stuff | For Independent Filmmakers</a></li>
<li><a href="//www.reddit.com/r/Filmmakers/.rss">Filmmakers - Reddit</a></li>
<li><a href="//feeds.feedburner.com/povdocs">For Filmmakers: Documentary Filmmaking Resources from POV - PBS</a></li>
<li><a href="//filmmakermagazine.com/category/filmmaking/feed/">Filmmaking | Filmmaker Magazine</a></li>
<li><a href="//cheapfilmmaking.com/feed">Cheap Filmmaking</a></li>
<li><a href="//www.filmmakingreview.com/feed/">Filmmaking Review</a></li>
<li><a href="//www.filmindependent.org/feed/">Artist Development | Film Independent</a></li>
<li class="last"><a href="//www.allaboutindiefilmmaking.com/feeds/posts/default">All About Indie Filmmaking</a></li>
</ul></div></div>
</div>
</div>
</div>
<div id="feed" class="feed">
Feed content will go in here.
</div>
</body>
</html>
//$(document).ready()块。
$(文档).ready(函数(){
console.log(“准备就绪!”);
var listoflinks=[];
$(“.field name field news ul li a”).each(function(){listoflinks.push(“http:+$(this.attr(“href”))});
//log(listoflinks[0]);
$('.feed').feed({
提要:{
//唯一名称:“https://www.domain.com/rss",
选项0:ListofLink[0],
选项1:链接列表[1],
选项2:链接列表[2],
选项3:链接列表[3],
},
预处理:函数(提要){
//使用moment.js将日期显示为time ago
this.publishedDate=时刻(this.publishedDate).fromNow();
},
entryTemplate:'entryTmpl',
//onComplete:函数(条目){
//$(this.find('a').attr('target','u blank');
// }
});
});
媒体组:
类别:
供稿人
饲料内容将在这里。
我建议您创建一个空对象
var listoflinks = {};
然后更换这条线
$(".field-name-field-news ul li a").each(function() { listoflinks.push("http:" + $(this).attr("href")) });
使用下面的方法将项目添加到对象中
$(".field-name-field-news ul li a").each(function(index) {
listoflinks['option'+index] = "http:" + $(this).attr("href");
});
现在,不要将4项传递给feeds()方法,而是传递我们前面构建的对象
$('.feed').feeds( {
feeds: listoflinks,
// your function (didn't modify this)
preprocess: function(feed) {}
});
现在,您正在feed{}中使用4个项,您是否尝试对数组中的所有项动态执行此操作?正确,我希望传递整个数组,而不仅仅是前4个,我正在努力使用语法使其正常工作。