繁体   English   中英

appendChild或追加或插入 - 没有任何工作。 TD插错了地方

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM