初心者のJavaScriptの質問です。私はここに投稿する前にできるだけ多くのことを研究しました。私は多くの解決策を試しましたが、間違ったことを探している可能性があります。forループ内のループ? - Javascript
私が持っている問題の下に画像を添付しました。私は暗い青色のボックス内のすべてを取得しようとしていますが、それらの入力タグを識別することはできません。固有のものはないので、親divをクラス 'f-active'で識別できます。 divは、そのクラスを持っているとき、彼らは私が興味を持って何であるユーザによって選択されています。
私の試みを、これまで
var divArray = document.querySelectorAll('div.add-filter.f-active');
var arr = [];
for(var i=0; i < divArray.length; i++){
var childArray = divArray[i].children;
// console.log(childArray);
for(var i=0; i < childArray.length; i++){
if(childArray[i].tagName == "INPUT"){
var catNameCollection = arr.push(childArray[i].name);
// console.log(catNameCollection);
}
}
}
私が使用しようとしましたループを使用してすべての親を取得し、別のforループを使用して子(入力タグ)を選択し、name属性を取得します。私はもともとdocument.querySelectorAll( 'div.add-filter.f-active')。childrenという名前で 'divArray'を作成しようとしましたが、これはforループのname属性を取得しましたが、これは何も返しませんでしたすべて。
私が間違っていることを知っていれば誰でも助けることができます。
ありがとうございました!
あなたの内側のループは、別の変数名を使用する必要があります。 – spectras
あなたの 'var i'は両方のループで同じです –
' var'の代わりに 'let'もこれを修正します:p –