2012-01-29 4 views
0

Эй, как я могу клонировать таблицу с именем teamselectiontable только с строками таблицы, которые имеют класс «выбрано», а также изменить другую таблицу и заменить ее содержимое на найденные строки таблицы. Но сохраняя имена классов «строка» в прилагаемой таблице.JQuery клонировать таблицу с определенным классом строк

<table id="teamselectiontable"> 
    <tr class="chosen">content</tr> 
    <tr class="something">content</tr> 
    <tr class="something">content</tr> 
    <tr class="something">content</tr> 
    <tr class="something">content</tr> 
    <tr class="chosen">content</tr> 
    <tr class="chosen">content</tr> 
</table> 

К столу, как показано ниже.

<table id="talentselection"> 
    <tr class="row"></tr> 
    <tr class="row"></tr> 
    <tr class="row"></tr> 
</table> 

Спасибо за любую помощь.

ответ

1
$(".chosen").clone().attr("class","row").appendTo("#talentselection") 

или если вы хотите заменить все содержимое целевой таблицы

$("#talentselection").html($(".chosen").clone().attr("class","row")); 

Пожалуйста, обратите внимание, что вам нужно ТДС в таблице разметки для этой работы

<tr><td class="chosen">content</td></tr> 
+0

так что я все еще могу держать строки таблицы с классом? пока у меня есть данные таблицы. Как и выше, вы переместили класс в данные таблицы ?. – user969729

+0

Это приведет к клонированию «выбранных» строк, заменит имя класса на них «row» и добавит их в целевую таблицу. Если вы просто хотите получить значение «выбранных» строк и скопировать только содержимое в ранее существующую целевую таблицу, вам нужно будет сделать это несколько иначе. – Michal

0

Предполагая, что я понял, что вы пытаетесь сделать, вы можете использовать метод clone для клонирования выбранных элементов, а также метод appendTo для добавления клонов в другой элемент:

$("#teamselectiontable .chosen").clone().appendTo("#talentselection"); 

Элементы, в исходном выборе не будет затронуто. Обратите внимание, что в его текущей форме вышеуказанный код не будет клонировать любые события, связанные с согласованными элементами. Если вы хотите клонировать элементы со своими событиями, просто передайте true в метод clone.

Update (см комментарии)

Чтобы изменить имя класса на клонированных элементов, вы можете использовать removeClass и addClass методы:

$("#teamselectiontable .chosen") 
    .clone() 
    .appendTo("#talentselection") 
    .removeClass("chosen") 
    .addClass("row"); 
+0

Будет добавлена ​​таблица #talentselection, теперь состоят из строк таблицы с классом по имени выбрали? или они будут с классом «row», потому что я хочу клонировать строки таблицы с выбранным классом, но в таблицу #talentselection, но с новым классом «row». – user969729

+0

@ user969729 - Нет, у них будет один класс. Я обновил ответ с помощью решения. –

+0

@JamesAllardice Предполагая, что он хочет сохранить свои 3 «предопределенные» строки, это решение не будет ему достаточно. Как насчет клонирования содержимого, а затем добавить эти по одному в строки назначения? – Kiruse

Смежные вопросы