我在这里度过了一段时间的魔鬼。这看起来很容易,但是我无法让它工作。 我的目标是在另一个TD之后插入/追加/追加孩子一个TD ...所以你有...
<table>
<tr>
<td class="eve"></td>
<td class="mo"></td>
</tr>
</table>
简单吧?瑙。
这是我的代码。
var r = new Element('tr',{'class':'trclass'});
var td2 = new Element('td',{'class':'mo'});
var artDiv = new Element('div',{'class':'summary'});
var td = new Element('td',{'class':'eve'});
var div = new Element('div',{'class':'pad1','style':'overflow=hidden'});
我设置了一些元素。
div.innerHTML = '<a href="' + disp.link + '" class="Link">somelink</a>';
artDiv.innerHTML = '<a href="'+ disp.link +'" class="url">' + disp.name +'</a>';
td2.innerHTML = '<div class="pad1"><a href="' + disp.link + '" class="mo">' + disp.linkName +'</a></div>';
div.appendChild(artDiv);
td.appendChild( div );
r.appendChild(td);
r.appendChild(td2)
我尝试过仅使用原型,仅使用jquery等等。当我尝试在控制台中执行此操作时,我可以使用它。但是当它坐在一个页面中时,无论我做什么......
我明白了:
<table>
<tr>
<td class="mo"></td> <-- THIS should be last TD, but no matter what, always goes first.
<td class="eve"></td>
</tr>
</table>
答案 0 :(得分:1)
你想要jQuery或原型的解决方案吗?
使用jQuery,一个简单的解决方案是首先在表中添加一个id / class。在那之后,这是非常直接的前进:
$(function() {
var tdElement = "<td class='eve'></td>"; //the element you are inserting
//lets say your table class is 'foo'
$('.foo > tr').append(tdElement);
});
现在假设你只有一行。但是这会将tdElement附加到tr元素。
答案 1 :(得分:1)
如果您可以在创建TR时为其分配ID,则应该能够以非常简单的方式使用jQuery向它们附加。这是fiddle的快速{{3}}。
$(document).ready(function(){
var td1 = "<td class='mo'>Cell Mo</td>"
var td2 = "<td class='eve'>Cell Eve</td>"
$("#targetRow").append(td1);
$("#targetRow").append(td2);
});
如果您无法分配TRs ID值但知道他们在表格中的顺序,您可以随时选择表格的TR并使用eq()将它们作为另一种选择。