私は私の頭の周りを包むように見えない特定の問題があります。私はreddit APIを使用してデータを取得しています。jQueryはループ内に追加します
だから基本的に私は#triggerを使用して答えを見せたかった
$(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ボタンをクリックすると問題が発生します。配列には26という実際のカウントではなく、27のカウントが表示されます。#triggerボタンをクリックすると何とか1カウントが追加されます。今すぐボタンをクリックして回答を表示することはできません。どんな助けも大いにありがとうございます
なぜ[変数]で文字列に変数を追加していますか?これは不必要な配列を作成しています。また、実際に列挙されるIDを作る代わりに、これらのフィールドのクラスを使用することを検討する必要があります。次に、クラスを選択し、それらのクラスの 'eq(index)'を取得します。 – Taplar
私はすでにクラスに変更しましたが、動作していないようです。私は本当に最初の質問であなたが何を意味していない。私はそれぞれのボタンと答えがお互いに異なっていることを望んでいたので、私のIDに[i]を追加しています。現在、私の配列の中に26のインデックスがあるので、26のボタンと答えがあります。たとえば、3番目のインデックスボタンをクリックすると、3番目の答えが表示されます。 – Irsyad14
[]文字列の外側は配列です。通常、配列を文字列に連結しません。 idを 'name [#]'のパターンに従わせようとしていましたか?いずれにしても、クラスは必要ありません。あなたはあなたの質問を新しい論理で更新することができますか? – Taplar