为什么JavaScript数组返回“0”;未定义的“;?
我一直在用jQuery和HTML5构建一个应用程序,它可以读取博客的rss提要。我想显示一个rss标题列表,当用户点击标题时,它会进入另一个显示完整内容的页面。我可以使用ajax获取内容并将其存储在一个数组中。但当我点击标题时,它会在下一页显示undefined。我正在使用jQuery页面为什么JavaScript数组返回“0”;未定义的“;?,javascript,jquery-mobile,Javascript,Jquery Mobile,我一直在用jQuery和HTML5构建一个应用程序,它可以读取博客的rss提要。我想显示一个rss标题列表,当用户点击标题时,它会进入另一个显示完整内容的页面。我可以使用ajax获取内容并将其存储在一个数组中。但当我点击标题时,它会在下一页显示undefined。我正在使用jQuery页面 $(document).ready(function() { load_posts(); }); function load_posts() { var PAGINATION = $('#pagin
$(document).ready(function() {
load_posts();
});
function load_posts() {
var PAGINATION = $('#pagination');
var HTML1 = '<li><a href="#post" data-transition="slide" id ="';
var HTML5 = '"><h4>';
var HTML2 = '</h4>';
var HTML3 = '<p>';
var HTML4 = '</p></a></li>';
var btn = "";
var selector = "";
var i = 0;
var title = "";
var pubDate = "";
var dascription = "";
var anchorID = "";
var url = "";
var fullPost = new Array;
var link = new Array;
$.ajax({
type: 'GET',
url: 'http://smushbits.com/feed/',
dataType: 'xml',
error: function() {
alert("An error occured!");
},
success: function(xml) {
$(xml).find('item').each(function() {
title = $(this).find('title').text();
pubDate = $(this).find('pubDate').text();
pubDate = pubDate.substring(5, 16);
description = $(this).find('encoded').text();
url = $(this).find('link').text();
fullPost.push(description);
link.push(url);
anchorID = "btn" + i.toString();
$(HTML1 + anchorID + HTML5 + title + HTML2 + HTML3 + pubDate + HTML4).appendTo(PAGINATION);
i = i + 1;
});
for (var j = 0; j < fullPost.length; j++) {
btn = "#btn" + j.toString();
selector = $(btn);
$(document).on("click", selector, function() {
document.getElementById('entry').innerHTML = fullPost[j];
});
}
PAGINATION.listview("refresh");
}
});
}
$(文档).ready(函数(){
加载_柱();
});
函数加载_posts(){
变量分页=$(“#分页”);
var HTML1='';
var btn=“”;
var选择器=”;
var i=0;
var title=“”;
var pubDate=“”;
var dascription=“”;
var anchorID=“”;
var url=“”;
var fullPost=新数组;
var-link=新数组;
$.ajax({
键入:“GET”,
网址:'http://smushbits.com/feed/',
数据类型:“xml”,
错误:函数(){
警报(“发生错误!”);
},
成功:函数(xml){
$(xml).find('item').each(function(){
title=$(this.find('title').text();
pubDate=$(this.find('pubDate').text();
pubDate=pubDate.substring(5,16);
description=$(this.find('encoded').text();
url=$(this.find('link').text();
fullPost.push(描述);
链接推送(url);
anchorID=“btn”+i.toString();
$(HTML1+anchorID+HTML5+标题+HTML2+HTML3+pubDate+HTML4)。附录(分页);
i=i+1;
});
对于(var j=0;j
这是臭名昭著的for循环问题
for (var j = 0; j < fullPost.length; j++) {
(function(j) {
var btn = "#btn" + j;
$(document).on("click", btn, function() {
document.getElementById('entry').innerHTML = fullPost[j];
});
}(j));
}
for(var j=0;j
我觉得我早就看到了。无论哪种方式,您都需要正确地缩进代码,隔离一个问题,并说出您迄今为止的尝试。并没有人会直接把代码交给你们。是的,正确的缩进会有很大的帮助。问题仍然存在。此代码中的变量作用域是否存在任何问题?