2013-10-21 50 views
0

我在這裏使用jQuery的飼料腳本http://camagu.github.io/jquery-feeds/demos/: 下面是一個工作的HTML頁面與jQuery的拉鍊接RSS源的鏈接列表中的鏈接列表並將它們傳遞給feeds功能,將它們顯示在頁面上的div中。jQuery如何替換函數中的每個循環動態的靜態變量

我的問題是要動態地創建URL的陣列傳遞到飼料功能從頁面itsel(一listoflinks)(這是我所做的)上的內容,而是路過他們一次一個listoflinks [0],我想在listoflinks中傳遞整個數組。我怎樣才能修改這個以處理任何數量的鏈接而不是指定的數組大小,我知道我應該做一個foreach循環,但不知道它應該放在哪裏才能工作。目前,各個環節被傳遞給飼料函數$ listoflinks [0],$ listoflinks [1],$ listoflinks [2]等

<!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> 
+0

您使用的4個項目中的飼料{} RightNow的對象,你想這樣做動態的所有項目在數組中? – Ahmad

+0

正確的,我想傳遞整個數組而不僅僅是前4個,我正在努力獲得這個工作的語法。 – user1073319

回答

2

我會建議你創建一個空的對象

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項供稿()方法,通過我們建立較早

$('.feed').feeds({ 
    feeds: listoflinks, 
    // your function (didn't modify this) 
    preprocess: function(feed) {} 
}); 
+1

完美運作 – user1073319