0

私はここで悪魔のような時間を過ごしています。これはとても簡単に思えますが、まだうまくいきません。私の目標は、別の TD の後に TD を挿入/追加/appendChild することです。

<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>
4

2 に答える 2

1

jQuery とプロトタイプのどちらでソリューションが必要ですか?

jQuery を使用する場合、簡単な解決策は、最初に ID/クラスをテーブルに追加することです。その後、それはかなり簡単です:

$(function() {
  var tdElement = "<td class='eve'></td>"; //the element you are inserting

  //lets say your table class is 'foo'
  $('.foo > tr').append(tdElement);
});

これは、行が 1 つしかないことを前提としています。しかし、これは tdElement を tr 要素に追加します。

于 2012-09-22T02:50:11.233 に答える
1

TR の作成時に ID を割り当てることができれば、非常に簡単な方法で jQuery を使用して TR に追加できるはずです。これが簡単なフィドルです。

$(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);
});​

TR ID 値を割り当てることはできないが、テーブル内での順序がわかっている場合は、常にテーブルの TR のみを選択し、別のオプションとして eq() を使用してそれらに対処することができます。

于 2012-09-22T02:58:37.403 に答える