2010-08-16 98 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() S IN相反的顺序,或把它们粘相同的字符串或任何数量的其他变体。

根据您的评论,here's a Fiddle应明确发生了什么。

+0

我不明白......名字...... – user357034 2010-08-16 04:29:36

+0

这是为了简写 - 意思是“所有其他的'名字'行中的东西都在这里”。你想要插入的''的整个内容都放在'.after()'调用中,并且将被jQuery立即插入到“passwordagain”行之后。我曾两次展示“名”;第二个意思是“姓”。修正了。 – 2010-08-16 04:43:03

+0

@user,在我的答案中查看上面引用的jsFiddle。它显示一个工作解决方案。 – 2010-08-16 04:51:50

0

这应该工作:

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

其中table是父表。如果您在表格中使用tbody,则可能需要使用tbody

相关问题