В крупных проектах, связавших несколько платформ с различными компиляторами и библиотеками, многими командами и большим количеством людей, мы неоднократно сталкивались с проблемами со статическим станд.:: строки. На некоторых платформах std:string реализация не ориентирована на многопотоковое исполнение. На одной платформе оптимизированный код компилятора пропустил инициализацию локальной формы std:string глобальная статическая константа После преследования нескольких из этих проблем, которые мы только позволяем глобальному статическому consts для созданного в типах.
Вы можете подключить прямую трансляцию ко всем кнопкам. Если вы дадите им класс клона, например, следующее будет работать.
$('input.clone').live('click', function(){
//put jquery this context into a var
var $btn = $(this);
//use .closest() to navigate from the buttno to the closest row and clone it
var $clonedRow = $btn.closest('tr').clone();
//append the cloned row to end of the table
//clean ids if you need to
$clonedRow.find('*').andSelf().filter('[id]').each( function(){
//clear id or change to something else
this.id += '_clone';
});
//finally append new row to end of table
$btn.closest('tbody').append( $clonedRow );
});
Обратите внимание: Если у вас есть элементы в строке таблицы с идентификаторами, вам нужно будет выполнить .each через них и установить для них новое значение, иначе вы получите повторяющиеся идентификаторы в dom, которые недействительны и могут вызвать хаос с селекторами jQuery
Это можно сделать так
Если вам нужно действительно простое решение, просто используйте innerHTML:
var html = document.getElementById("the row").innerHTML;
var row = document.createElement('p');
row.innerHTML= html;
document.getElementById("table id").appendChild(row);
Для каких целей вы хотите использовать данные? Раньше я делал аналогичные вещи с формами ввода данных, и в целом я обнаружил, что пользователям выгодно не манипулировать всем в Javascript, а подключаться для хранения данных на сервере и взаимодействия с AJAX.
Проблема в том, что как только вы разрешаете пользователям выполнять такого рода сложные манипуляции с таблицами, и они случайно нажимают кнопку «Назад», вы получаете множество недовольных игроков. Кодирование временного хранилища в базе данных не намного сложнее, чем манипулирование Javascript, и на самом деле может быть проще, так как вы можете легче разбить операции. Отладка также проще по этой причине (у вас всегда есть доступ для проверки текущего состояния вашей таблицы).