Объединить 2 таблицы с jQuery

Я пытаюсь объединить две таблицы в один новый с jQuery следующим образом:

var table = document.createElement("table");

table.id = "mergedTable";

$("#mergedTable > tbody:last")
 .append($("#csvInfoTable2 > tbody").html())
 .append($("#csvInfoTable > tbody").html());

Проблема в том, что я вызываю функцию HTML для CSV, и она говорит, что mergedTable пуст. Также, если я делаю console.log(table) он показывает, что он пуст. Таблицы имеют разное количество столбцов, но мне нужно сгенерировать что-то вроде:

col1,col2,col3 
col1,col2,col3 --> end table1
col1,col2,col3,col4 --> table2
col1,col2,col3,col4.

Я использую: https://github.com/DrPaulBrewer/html5csv для создания файла, и он работает с csvInfoTable и csvInfoTable2, если я разделяю.

благодаря

2 ответа

Вы не добавляете вновь созданную таблицу. Таким образом, $("#mergedTable > tbody:last") завершится с ошибкой.

И вы должны использовать jQuery для создания таблицы, хотя вы можете сделать это на своем пути, но обязательно добавьте ее.

$('', { id : "mergedTable" }).appendTo('body');
<p> Примечание. Если вы хотите, что предлагает @charlietfl, то с вашим кодом вы бы сделали</p><pre class="prettyprint linenums"><code>var tab = $(table).filter('> tbody:last')
 .append($("#csvInfoTable2 > tbody").html())
 .append($("#csvInfoTable > tbody").html());
</code>


Для кого это может касаться. Мне нужно было объединить две таблицы. Первым был asp.net Gridview, который находится только во время выполнения html-таблицы, и один htmltable я создаю динамически. Ниже приведен javascript, как я объединять два и сделать последнюю таблицу невидимой, скрывая ее.

                            

licensed under cc by-sa 3.0 with attribution.