gpt4 book ai didi

javascript - 为什么 JavaScript 数组返回 "Undefined"?

转载 作者:行者123 更新时间:2023-11-27 23:48:50 27 4
gpt4 key购买 nike

我一直在用 jQuery 和 html 5 构建一个应用程序,用于读取博客的 rss feed。我想显示 rss 标题列表,当用户单击标题时,它会转到显示完整内容的不同页面。我可以使用 ajax 获取内容并将它们存储在数组中。但是当我单击标题时,它在下一页上显示未定义。我正在使用 jQuery 页面。

$(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");
}
});
}

最佳答案

这是臭名昭著的 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));
}

关于javascript - 为什么 JavaScript 数组返回 "Undefined"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32893026/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com