我正在尝试使用clone()方法向现有表添加一行。它工作正常,我还想更改原始行中每个td下所有div元素的CSS类名。基本上我想让一些td元素可编辑。我已经通过添加“row.find(”td div“)...”尝试了这一点,正如您在代码中看到的那样,但此代码根本没有任何效果。有什么建议吗?
$("#create_blank_scenario").click(function(){
var row = $('#sortable_offer_table tbody tr:first').clone(true);
row.find("td div").addClass("editable");
row.insertBefore('#sortable_offer_table tbody tr:first');
});
答案 0 :(得分:0)
选择器很可能出现问题。我会运行row.find("td div")
并检查其length
(alert()
会这样做),以确保您确实找到了所需的div。
答案 1 :(得分:0)
也许您的标记存在问题,因为您的代码似乎对我来说效果很好。以下是它的工作演示:http://jsfiddle.net/gkEbp/
我创建了一些虚拟html:
<table id="sortable_offer_table">
<tr>
<td><div>My Text</div></td>
<td><div>My Other Text</div></td>
<td><div>My Final Text</div></td>
</tr>
<tr>
<td><div>My Text</div></td>
<td><div>My Other Text</div></td>
<td><div>My Final Text</div></td>
</tr>
<tr>
<td><div>My Text</div></td>
<td><div>My Other Text</div></td>
<td><div>My Final Text</div></td>
</tr>
</table>
<br/><br/>
<button type="button" id="create_blank_scenario">Create Blank</button>
添加了CSS规则以突出显示.editable
并针对它运行您的代码。如你所见,它有效。