2
 var $table = $('<table/>').addClass('commentbox');

$table.append('<tr><td>' + 'Comment Id:'+ '</td></tr>');

var $wrap = $('<div/>').attr('id', 'container');

var $in = $('<input type="button" value="Reply"/>').attr('id', 'reply');
$wrap.append($in);
 $table.append(
                 $('<tr>')
                         .append($('<td>'),
                         $('<td>'))
                       );
      $table.append($wrap);

td 内に div id コンテナーを追加したいのですが、html を取得しています。

 <table>
   <tbody>
    <tr>
      <td>Comment</td>
     </tr>
     <tr>
        <td>
        </td><td></td>
     </tr>
  <tbody>
     <div id="container">
      <input type="button" value="Reply" id="reply">
     </div>
</table>
4

3 に答える 3

5

$wrapではなく、オブジェクトを<td>要素に追加する必要があります$table

代わりに次のようにしてみてください。

var $table = $('<table/>').addClass('commentbox');

$table.append('<tr><td>' + 'Comment Id:'+ '</td></tr>');

var $wrap = $('<div/>').attr('id', 'container');
var $in   = $('<input type="button" value="Reply"/>').attr('id', 'reply');

$wrap.append($in);

$table.append(
    $('<tr>').append($('<td>').append($wrap), $('<td>').html('hello'))
);

デモはこちら: http://jsfiddle.net/umCDP/

于 2012-04-22T09:00:59.580 に答える
0

Javascriptを直接使用してHTMLを作成することもできます。

var table = document.createElement("table");

var tbody = document.createElement("tbody");
var tr_comment = document.createElement("tr");
var td_comment = document.createElement("td");
td_comment.appendChild(document.createTextNode("Comment"));
tr_comment.appendChild(td);
tbody.appendChild(tr_comment);

var tr_container = document.createElement("tr");
var td_container = document.createElement("td");
var div_container = document.createElement("div");
div_container.setAttribute("id", "container");
var input = document.createElement("input");
input.setAttribute("type", "button");
input.setAttribute("value", "Reply");
input.setAttribute("id", "reply");
div_container.appendChild(input);
td_container.appendChild(div_container);
tr_container.appendChild(td_container);
tbody.appendChild(tr_container);

table.appendChild(tbody);

Javascriptを使用して要素を追加すると、パフォーマンスが向上するはずです。

jQueryを使用してHTML要素を作成する最も効率的な方法は何ですか?

于 2012-04-22T09:06:52.663 に答える
0

$('table tbody') に追加する必要があります。例:

$('table tbody').append($('<tr><td>new row</td></tr>'));
于 2012-04-22T09:07:43.260 に答える