Я хочу подготовить вложенный массив путем обхода DOM с использованием Javascript / jQuery. Интересующие элементы находятся в элементе #container
и либо имеют класс dot
, либо являются элементами input
.
Я хочу подготовить массив как [name,name1,[name2]]
. Я использовал здесь в основном используемые методы, такие как рекурсия. Но я не мог заставить его работать:
1010 * скрипка *
$(document).ready(function(){
var arr = [];
function recurse(parent, arr){
var temp = [];
parent.find('*').each(function(){
if($(this).is('input')){
if($(this).parents('.dot').length==1){
console.log($(this));
temp.push($(this).attr('id'))
}
}
if($(this).is('.dot')){
recurse($(this), arr);
}
});
arr.push(temp);
return arr;
}
var elm = $('#container').find('.dot:first');
console.log(recurse(elm, arr));
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="container">
<div class="dot">
<div class="dot">
<input type="password" id="name2" name="name2">
</div>
<input type="text" id="name" name="name">
<input type="password" id="name1" name="name1">
</div>
</div>