Показать сообщение отдельно
  #11 (permalink)  
Старый 07.06.2012, 01:42
Аспирант
Отправить личное сообщение для mirek Посмотреть профиль Найти все сообщения от mirek
 
Регистрация: 21.05.2012
Сообщений: 49

$("#img_id").clone(true).appendTo($('#clone1')).attr("id", "clone");


Вот такой код нормально работает

Теперь я пытаюсь изменить id всех элементов DOM при помощи такого алгоритма
$('#clone').children().each(function(){
      $('#clone').append(this.id+='--->');
    });


Но изменяется ID только второго элемента в клоне
Фактически в результате клонирования из такого DOM
<div id="img_id">
<div id="ne">
    <img id="main_img" src="" width="350" height="300" />
    <div id="wrapper">
            <div id="able">
        </div>
        </div>
    </div>


Получается такой


<div id="clone">
<div id="clone--->">
<div id="ne">
    <img id="main_img" src="" width="350" height="300" />
    <div id="wrapper">
            <div id="able">
        </div>
        </div>
    </div>
</div>


То есть у клона появляется новый <div id="clone">, который становится оберткой прежнего DOM

Также изменяется ID второго элемента на id="clone--->"

Но почему не изменяются все ID ?

И я предполагаю, что при восстановлении оригинала оберточный DIV с id="clone" станет лишним
Ответить с цитированием