后跳过表当我打Inner Add row
它添加正确的行从.charts-series
表,但如果我打Outer Add Row
它增加了从.charts-series
表中的一行,而不是从.charts
表中的一行。这里是小提琴http://jsfiddle.net/cbMHk/5/.find()方法只是父
HTML:
<div class='cont'>
<table class="charts" cellspacing="0" cellpadding="0" border="2px solid #000000" align="center">
<thead class="charts">
<tr class="charts charts-first charts-last even">
<th class="charts charts-first charts-tr-header" width="5%">#</th>
<th class="charts" width="40%">Name</th>
<th class="charts charts-last">serie_points</th>
</tr>
</thead>
<tbody class="charts">
<tr class="odd">
<td class="charts charts-first">1</td>
<td class="charts">
<input name="" placeholder="place_series_name" />
</td>
<td class="charts">
<table class="charts-series" cellspacing="0" cellpadding="2" border="0" align="center">
<thead>
<tr class="even">
<th width="20px" />
<th>value</th>
<th>seria_point</th>
<th/>
</tr>
</thead>
<tbody>
<tr class="odd">
<td class="first">1</td>
<td>
<input name="" placeholder="0" />
</td>
<td>
<input name="" placeholder="0" />
</td>
<td class="last"><a class="remove-btn remove" title="Remove row" />
</td>
</tr>
</tbody>
</table>
<a class="add-btn add" title="Add row">Inner Add Row</a>
</td>
</tr>
</tbody>
</table>
<a class="add-btn add" title="Add row"> Outer Add Row</a>
</div>
JS:
$('.add-btn').live('click', function(){
var prev = $(this).parent().find('table tbody');
prev.find('tr:last').clone().appendTo(prev).find('input').val('');
return false;
});
当我检查$(this).parent()
似乎是正确的。哪里不对?
首先不要使用活,使用。其次,为什么不创建两个事件处理程序。每个链接/按钮一个? –
@AlexShilman检查小提琴,OP是使用旧版本的jquery,所以没有问题。 – Praveen
@PraveenJeganathan:OP在小提琴中使用1.7.2。 ['.live()'](http://api.jquery.com/live/)从1.7开始被弃用。 – Travesty3