[英]appendChild or append or insert - nothing is working. TD is inserting wrong place
我在这里度过了一段时间的魔鬼。 这看起来很容易,但是我无法让它工作。 我的目标是在另一个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>
你想要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元素。
如果您可以在创建TR时为其分配ID,则应该能够以非常简单的方式使用jQuery将它们附加到它们。 这是一个快速的小提琴 。
$(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()将它们作为另一个选项来解决。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.