我在TD中点击链接时调用了一个函数。单击后,我遍历DOM到链接所在的TR,然后在它之后创建一个新的TR。
到目前为止一切顺利。
现在我已经创建了新的TR,其中包含TD,现在最好的是指新创建的TD。或者,我是否需要遍历我从原始点击对象创建的新TD?
$("td.expandable a").click(function(){
// figure out the number of columns we need to span
var colspan;
colspan = $(this).parents("tr").children("td").size();
// insert the new TR
$(this).parents("tr").after("<tr><td colspan=' & colspan & '></td></tr>");
// **what syntax would I use here to refer to the above made TD?**
return false;
});
答案 0 :(得分:1)
$("td.expandable a").click(function(){
// figure out the number of columns we need to span
var colspan = $(this).parents("tr").children("td").size(),
tr = $("<tr><td colspan=' & colspan & '></td></tr>");
// insert the new TR
$(this).parents("tr").after(tr);
// **what syntax would I use here to refer to the above made TD?**
tr.find('td')
return false;
});
如果您要更新一个 tr,也可以将parents
替换为closest
。另一种更加手动的方式就是...... $(this).parents('tr').next().find('td')
答案 1 :(得分:0)
insertAfter()。wrap()方便这类事情:
$('td.expandable a').click(function() {
var $parent = $(this).parents('tr');
var colCount = $parent.children('td').size();
var $td = $('<td colspan=' + colCount + '></td>');
$td.insertAfter($parent).wrap('<tr></tr>');
return false;
});
我使用字符串连接运算符“+”。 “&安培;”用于整数计算按位AND。