$(document).ready(function() {
var idPost = $('.post-outer').attr('id');
$('.post-outer').attr('name', idPost);
});
Когда вы запускаете JS выше, он принимает только первый «ID», повторяющийся в другом «DIV». Что происходит:Получите «id» и добавьте в каждый div (name = «id»)
<div class="post-outer" id="001" name="001">teste1</div>
<div class="post-outer" id="002" name="001">teste2</div>
<div class="post-outer" id="003" name="001">teste3</div>
Я хотел случиться так:
<div class="post-outer" id="001" name="001">teste1</div>
<div class="post-outer" id="002" name="002">teste2</div>
<div class="post-outer" id="003" name="003">teste3</div>
Первая строка '$ ('пост-внешний '). Атр (' ID')', получает селектор, указывающий на все '.post-outer' элементов, но Метод 'attr' получает свойство' 'id'' ** первого элемента, на которое указывает селектор **. С другой стороны, 'attr' * setter * применяется к * каждому элементу * в селекторе, что означает, что все три будут иметь имя' '001" '. Селекторы jQuery являются, по существу, обертками вокруг массивов элементов, и поэтому любой метод, который функционирует как геттер/сеттер, демонстрирует это поведение (getters извлекают из первого элемента, сеттеры применяются ко всем элементам). –