我有一个特别的问题,我似乎不包裹我的头。我正在使用reddit api来获取数据。jQuery附加循环内
修订
$(function() {
console.log("is it loading")
axios.get('http://www.reddit.com/r/DrunkOrAKid/hot.json?sort=hot')
.then(function(data){
var q;
for(var i = 2; i < data.data.data.children.length; i++){
q = data.data.data.children[i];
$('#main').append('<h4>' + q.data.title + '</h4><br><button class="btn btn-success trigger">answer</button><div class="answer">'+ q.data.selftext +'</div>')
$('.answer').hide()
$('.trigger').click(function(e){
e.preventDefault()
console.log("clicked", [i]);
$('.answer').show()
})
}
}).catch(function(error){
console.log("error occured")
})
})
所以基本上我想用#trigger显示答案。但问题在于,当我点击#trigger按钮时,数组显示了27个计数而不是实际的计数,它是26.当点击#trigger按钮时,它不知何故地添加了一个计数。现在我无法点击按钮来显示答案。任何帮助将不胜感激
为什么要用'[variable]'将字符串附加到字符串?这是创建一个不必要的数组。你也应该考虑对这些字段使用类,而不是使用枚举的id。然后你可以选择这个类并获得它们的'eq(index)'来处理。 – Taplar
我已经更改为类,它似乎不工作。我不确定你在第一个问题中的含义。我将[i]添加到我的ID中,因为我希望每个按钮和答案都有不同的ID。目前在我的数组中有26个索引,所以有26个按钮和答案。当我点击例如第三个索引按钮时,它应该只显示第三个答案。 – Irsyad14
[]外的字符串是一个数组。通常,您不会将数组连接到字符串。你是否试图让id遵循'name [#]'的模式?在任何情况下,你都不需要这样的课程。你能用新的逻辑更新你的问题吗?哪些工作不正常? – Taplar