как добавить всем дочерним элементам id (.find может)

Как добавить каждому дочернем элементам id и записать это айди в массив? ЧТо-то типа внутри div, такого плана $('#'+newiddx+'*').children().attr('id')


Ответы (2 шт):

Автор решения: Aleks Mir

Если правильно вас понял

var arrowId = [];
    for (let i = 1; i <  $('#parent>*').length + 1; i++) {
        var newId = 'block-'+i;
        $('#parent>*:nth-child('+i+')').attr('id', newId);
        arrowId.push(newId);
    }
  console.log(arrowId)  
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="parent">
    <span>1</span>
    <div>2</div>
    <span>3</span>
    <div>4</div>
    <span>5</span>
    <div>6</div>
</div>

→ Ссылка
Автор решения: teran

более простой вариант для верстки из соседнего ответа.

var ids = $("#parent *").map(function(idx){
              const id = 'id-' + idx;
              $(this).attr('id', id);   
              return id;
          }).get();
          
console.log(ids);          
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="parent">
    <span>1</span>
    <div>2</div>
    <span>3</span>
    <div>4</div>
    <span>5</span>
    <div>6</div>
</div>

→ Ссылка