2010-08-16 3 views
0

У меня есть следующая разметка на странице. Я хочу добавить еще две строки таблицы сразу после этого.добавить строку таблицы в другую строку таблицы

<tr><td width="48%" align="right" nowrap=""><b>Type it again:</b></td><td width="52%"> <input type="password" autocomplete="off" maxlength="20" size="20" name="passwordagain"><!-- value="" --></td></tr> 

Вот два я хочу добавить к первому выше

<tr><td width="48%" align="right" nowrap="nowrap"><b>First Name:</b></td><td width="52%"> <input maxlength="35" value="" size="30" name="BillingFirstName"></td></tr> 
<tr><td width="48%" align="right" nowrap="nowrap"><b>Last Name:</b></td><td width="52%"> <input name="BillingLastName" size="30" value="" maxlength="35"></td></tr> 

ответ

1

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

$('tr:has(:input[name=passwordagain])') // row in question: no ID to use? 
    .after('<tr><td>...First Name...</td></tr>') // to add 
    .next()          // don't reverse order 
    .after('<tr><td>...Last Name...</td></tr>'); // next to add 

Вы можете опустить next() и просто поставить .after() с в обратном порядке, или вставить их в ту же строку или любое количество других вариантов.

Основываясь на ваших комментариях, here's a Fiddle, которые должны уточнить, что происходит.

+0

Я не понимаю ... имя ... – user357034

+0

Это должно быть сокращением - значит, все, что входит в строку «Имя», здесь ». Полнота '', которую вы хотите вставить, входит в вызов '.after()' и будет вставлена ​​jQuery сразу после строки с именем passwordagain. Я дважды показывал «имя»; второй должен был быть «фамилией». Исправлено. –

+0

@user, проверьте jsFiddle, упомянутый выше в моем ответе. Он показывает рабочее решение. –

0

это должно работать:

$('table').append('<tr>row 1</tr><tr>row 2</tr>'); 

где table является родительской таблицей. Возможно, вам придется использовать tbody, если у вас это есть в вашей таблице.

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