Скопировать HTML код с одного id в другой
Здравствуйте!
Возник такой вопрос, каким методом скопировать содержимое внутри конкретного идентификатора и поместить его в другой ? При этом нужно копировать не только текст но и весь HTML код. <html> <head> </head> <body> <td id="code"> <a style="text-decoration:underline" href="javascript:void(0);"><b>Код</b></a>: 0123456789 <span>•</span> <b><a style="text-decoration:underline" href="javascript:void(0);">Е-код</a></b>: 0123-456-789<br> </td> <td id="copy"></td> </body> </html> т.е. нужно копировать содержимое id="code" и вставить в id="copy" Возможно ли подобное ? Подскажите куда копать. |
Цитата:
<style>
#Wrp2 {
border:2px solid red;
height:56px;
width:200px;
}
#Myelem {
border:1px solid blue;
width:160px;
}
</style>
<div id="Myelem">sasddsf</div>
<div id="Wrp2">tttttttttttf</div>
<script type="text/javascript">
Elem = document.getElementById('Myelem');
WrapNewPos = document.getElementById('Wrp2');
setTimeout('WrapNewPos.appendChild(Elem)',3000)
</script>
|
Добавить текст во второй узел:
<div id="code">foo</div>
<div id="copy">bar</div>
<script>
var code = document.getElementById('code');
var copy = document.getElementById('copy')
copy.innerHTML = code.innerHTML;
</script>
|
Deff, спасибо, но вашь пример перемещает один идентификатор во второй, а не копирует.
нужно чтоб в итоге страница стала такой: <html> <head> </head> <body> <td id="code"> <a style="text-decoration:underline" href="javascript:void(0);"><b>Код</b></a>: 0123456789 <span>•</span> <b><a style="text-decoration:underline" href="javascript:void(0);">Е-код</a></b>: 0123-456-789<br> </td> <td id="copy"> <a style="text-decoration:underline" href="javascript:void(0);"><b>Код</b></a>: 0123456789 <span>•</span> <b><a style="text-decoration:underline" href="javascript:void(0);">Е-код</a></b>: 0123-456-789<br> </td> </body> </html> monolithed, вообще не в ту сторону, но за проявленный интерес спасибо =) |
Цитата:
Я вам привел пример как решить вашу задачу, а вы уже сами должны заменить идентификаторы |
Цитата:
<style>
#Wrp2 {
border:2px solid red;
height:56px;
width:200px;
}
#Myelem {
border:1px solid blue;
width:160px;
}
</style>
<div id="Myelem">sasddsf</div>
<div id="Wrp2">tttttttttttf</div>
<script type="text/javascript">
Elem = document.getElementById('Myelem').cloneNode(true);
WrapNewPos = document.getElementById('Wrp2');
setTimeout('WrapNewPos.appendChild(Elem)',3000)
</script>
|
Deff,
Hужно скопировать содержимое первой ноды во вторую, а не сделать копию первой |
monolithed,
Там с задержкой просто
<style>
#Wrp2 {
border:2px solid red;
height:56px;
width:200px;
}
#Myelem {
border:1px solid blue;
width:160px;
}
</style>
<div id="Myelem">sasddsf</div>
<div id="Wrp2">tttttttttttf</div>
<script type="text/javascript">
Elem = document.getElementById('Myelem').cloneNode(true);
WrapNewPos = document.getElementById('Wrp2');
var str = 'HTML родителя:\n\n'
setTimeout('WrapNewPos.appendChild(Elem);alert(str+WrapNewPos.innerHTML)',1500)
</script>
<style>
#Wrp2 {
border:2px solid red;
height:56px;
width:200px;
}
#Myelem {
border:1px solid blue;
width:160px;
}
</style>
<div id="Myelem">sasddsf</div>
<div id="Wrp2">tttttttttttf</div>
<script type="text/javascript">
Elem = document.getElementById('Myelem').cloneNode(true);
WrapNewPos = document.getElementById('Wrp2');
var X = document.createElement('div')
X.appendChild(Elem);
var HTML = X.innerHTML;
WrapNewPos.innerHTML=HTML;
alert('HTML родителя:\n\n'+WrapNewPos.innerHTML);
</script>
|
Deff,
Я имею ввиду что должно быть так:
<div id="code">
<div>
<div>foo</div>
</div>
</div>
<div id="copy"></div>
<script>
var code = document.getElementById('code');
var copy = document.getElementById('copy')
Array.prototype.forEach.call(code.childNodes, function(node) {
copy.appendChild(node.cloneNode(true));
});
</script>
|
monolithed,
Думаю разберётся - примеров масса Тут два часа пытался капчу на Хабре превозмочь, так и не понял что произошло, пока комп не перезагрузил, - ужос! |
Цитата:
И на сколько я понял работает только с <div> с моим примером тоже не работает и с этим уже не чего не поделаешь верно ? |
Цитата:
|
Цитата:
Не совсем догнал суть вашего поста ? Если пытались навести на мысль то её тоже не уловил, пожалуйста можно подробнее ? |
Цитата:
<style>
#Wrp2 {
border:2px solid red;
padding:6px;
width:200px;
}
#Myelem {
padding:6px;
border:1px solid blue;
width:160px;
}
p {
border:1px solid green;
padding:6px;
}
</style>
<div id="Myelem"><p>sasddsf</p></div>
<div id="Wrp2"><p>tttttttttttf</p></div>
<script type="text/javascript">
Elems = document.getElementById('Myelem').innerHTML;
WrapNewPos = document.getElementById('Wrp2');
WrapNewPos.innerHTML+=Elems;
alert('HTML родителя:\n\n'+WrapNewPos.innerHTML);
</script>
|
мда, я в шоке, все оказалось на столько просто.
Deff, спасибо. Такой вопрос, почему подобная конструкция не работает если вместо <div> использовать <tr> ? |
lamer,
Эээ конкретней можно - в таблицах элементы подключаются через tablecelllamer, у таблиц спецметоды .insertCell() insertRow() newrow newcell deleteRow() deleteCell() http://sevidi.ru/webd/dweb/javapage46.php |
Цитата:
<div id="code">
<div>
<div>foo</div>
</div>
</div>
<div id="copy"></div>
<script>
var move_child = function(object) {
var fragment = document.createDocumentFragment();
var nodes = object.from.childNodes;
for (var i = 0, length = nodes.length; i < length; i++)
fragment.appendChild(nodes[i].cloneNode(true));
object.to.appendChild(fragment);
};
move_child({
from: document.getElementById('code'),
to: document.getElementById('copy')
});
</script>
Цитата:
PS: только innerHTML я бы не посоветовал использовать если есть обрабочики событий на элементах |
Цитата:
|
| Часовой пояс GMT +3, время: 06:34. |