Копирование DIV и изменение id
Допустим копирую div со всеми вложенными тегами.
$("#"+id_copy).clone().appendTo("#"+id_last); Только при копировании выходит, что копия полностью идентичная. ID элементов такие же. Каким образом эффективнее обойти и изменить все id элементов скопированного объекта (div с вложениями)? |
Если делаю так, то только у верхнего уровня переименовывается id
$("#"+id_copy).clone().appendTo("#"+id_last). function() { $("#"+this.id).attr("id","id"+Math.floor((Math.random()*1000))); } |
SKLNSK,
а нельзя не использовать id совсем -- а вычислять по классу и расположению? |
Смена всех id у клона
SKLNSK,
<!DOCTYPE HTML> <html> <head> <title>Untitled</title> <meta charset="utf-8"> <style type="text/css"> </style> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> <script> $.fn.idPlus = function () { $('*',this).add(this).each(function (index, self) { self.id && (self.id += Math.floor((Math.random()*1000))) }) return this } $(function(){ var id_copy = 'first', id_last = 'last'; $("#"+id_copy).clone().idPlus().appendTo("#"+id_last); alert($("#"+id_last).html()) }); </script> </head> <body> <div id='first'> <span id='info'>Информация</span> <div id='main'> <span id='show'>текст1<b>test</b></span> </div> </div> <div id='last'> </div> |
Цитата:
|
Цитата:
|
Цитата:
Не до конца пока разобрался как работает. Вроде как понимаю должна быть рекурсия, но в коде не вижу рекурсии. |
Цитата:
![]() |
Цитата:
var divclone = $("#"+id_copy).clone().idPlus().appendTo("#"+id_last); divclone.height(45) |
Часовой пояс GMT +3, время: 09:55. |