Javascript 显示xml jquery的RSS提要
我正在使用jquery和wired编写一个简单的RSS提要。一切都很好,但由于某种原因,结果在描述之后包含了一个NaN。我无法理解它试图拉什么,因为它没有被任何标签包装,所以它遵循这样一个段落:Javascript 显示xml jquery的RSS提要,javascript,jquery,xml,rss,nan,Javascript,Jquery,Xml,Rss,Nan,我正在使用jquery和wired编写一个简单的RSS提要。一切都很好,但由于某种原因,结果在描述之后包含了一个NaN。我无法理解它试图拉什么,因为它没有被任何标签包装,所以它遵循这样一个段落: <p></p> NaN </div> NaN 我不能使用css来隐藏它,我也不想限制描述长度,因为有些描述比其他描述长,设置任意字符限制可能会允许它以任何方式显示在较短的描述上 xml提要: 脚本: (function ($) { $.fn.FeedEk = fu
<p></p> NaN </div>
NaN
我不能使用css来隐藏它,我也不想限制描述长度,因为有些描述比其他描述长,设置任意字符限制可能会允许它以任何方式显示在较短的描述上
xml提要:
脚本:
(function ($) {
$.fn.FeedEk = function (opt) {
var def = $.extend({
FeedUrl: "http://www.wired.com/category/business/feed/",
MaxCount: 5,
ShowDesc: true,
ShowPubDate: true,
TitleLinkTarget: "_blank",
}, opt);
var id = $(this).attr("id");
var i;
$("#" + id).empty().append('<img src="loader.gif" />');
$.ajax({
url: "http://ajax.googleapis.com/ajax/services/feed/load?v=1.0&num=" + def.MaxCount + "&output=json&q=" + encodeURIComponent(def.FeedUrl) + "&hl=en&callback=?",
dataType: "json",
success: function (data) {
$("#" + id).empty();
var s = "";
$.each(data.responseData.feed.entries, function (e, item) {
s += '<li><div class="itemTitle"><a href="' + item.link + '" target="' + def.TitleLinkTarget + '" >' + item.title + "</a></div>";
if (def.ShowPubDate) {
i = new Date(item.publishedDate);
s += '<div class="itemDate">' + i.toLocaleDateString() + "</div>";
}
if (def.ShowDesc) {
if (def.DescCharacterLimit > 0 && item.content.length > def.DescCharacterLimit) {
var StringStartAfterImage = item.content.indexOf('>',item.content.indexOf('< img')) + 1;
s += '<div class="itemContent">' + item.content.substr(0, def.DescCharacterLimit + StringStartAfterImage) + "..";
}
else {
s += '<div class="itemContent">' + item.content;
}
s += + "</div>";
}
});
$("#" + id).append('<ul class="feedEkList">' + s + "</ul>");
}
});
};
})(jQuery);
$(document).ready(function() {
$('#home-news').FeedEk({
FeedUrl: 'http://www.wired.com/category/business/feed/',
MaxCount: 5,
ShowDesc: true,
ShowPubDate: true,
});
});
(函数($){
$.fn.FeedEk=功能(可选){
var def=$.extend({
FeedUrl:“http://www.wired.com/category/business/feed/",
最大计数:5,
是的,
ShowPubDate:对,
标题链接目标:“_blank”,
},opt);
var id=$(this.attr(“id”);
var i;
$(“#”+id).empty().append(“”);
$.ajax({
url:“http://ajax.googleapis.com/ajax/services/feed/load?v=1.0&num=“+def.MaxCount+”&output=json&q=“+encodeURIComponent(def.FeedUrl)+”&hl=en&callback=?”,
数据类型:“json”,
成功:功能(数据){
$(“#”+id).empty();
var s=“”;
$.each(data.responseData.feed.entries,函数(e,项){
s+='”;
如果(定义ShowPubDate){
i=新日期(项目发布日期);
s+=''+i.toLocaleDateString()+'';
}
如果(定义ShowDesc){
if(def.DescCharacterLimit>0&&item.content.length>def.DescCharacterLimit){
var StringStartAfterImage=item.content.indexOf('>',item.content.indexOf('
”+s+””);
}
});
};
})(jQuery);
$(文档).ready(函数(){
$(“#家庭新闻”).FeedEk({
FeedUrl:'http://www.wired.com/category/business/feed/',
最大计数:5,
是的,
ShowPubDate:对,
});
});
html:
非常感谢您的帮助!谢谢!我通过删除else语句后的代码并关闭else语句中的div来解决此问题,我不需要未生成的数据,因此此解决方案适合我。请提供成功回调时服务器返回的内容
<div class="newsCenter">
<div class="news">
<div id="home-news"> </div>
</div>
</div>