0

次のようなテーブルがあります。

<div id="evttbldiv">
      <table id="eventtbl">
          <tr class="headers">
            <th>Evento</th>
            <th>Artista(s)</th>
            <th>Local</th>
            <th>Data</th>
            <th></th>
          </tr>
        <tr class="rowdata">
          <td class="lfm_event"></td>
          <td class="lfm_artists"></td>
          <td class="lfm_venue"></td>
          <td class="lfm_date"></td>
          <td><div class="arrow"></div></td>
        </tr>
        <tr class="rowinfo">
            <td colspan="5">
              hello
            </td>
        </tr>
      </table>
    </div>

私のJQuery:

container = $('#evttbldiv').html();
    console.log(container);
    $('.headers', container).remove();
    console.log(container);

私がやりたいのは、ヘッダー行を削除して残りを配置することです(その間のすべてと変数<tr class="rowdata">の最後trの行containerです。ただし、そのコード行を使用しても、JQuery のヘッダーは削除されません。

console.log(container)両方のインスタンスで同じ出力を表示しています。

4

3 に答える 3

3

問題は、アイテムを HTML に変換した後、アイテムの DOM に影響を与えるために jQuery を使用しようとしていることです。代わりに、clone()remove()HTML.header変換します。

container = $('#evttbldiv').clone();
$('.headers', container).remove();
console.log(container);

// And if you need the HTML...
container_html = container.html();
console.log(container_html);

フィドル: http://jsfiddle.net/mstauffer/98XMj/1/

于 2012-10-21T15:51:08.860 に答える
0

jQueryメソッドのチェーンを使用すると、完全に変更されたテーブルオブジェクトを1行で作成html()でき、jQueryオブジェクト自体を追加できるため、メソッドを使用する必要はありません。

var $modifiedTable = $('#evttbldiv').clone().find('.headers').remove().end()

$('#someElement').append( $modifiedTable )

またはhtml文字列に変換します

console.log( $modifiedTable.html())
于 2012-10-21T16:30:21.877 に答える
0

試す:

var $tds = $("#eventtbl .header th");

$("#eventtbl .header").remove()

// now append what is stored in $tds to whatever you want
$(".whateverYouWant").append($tds);
于 2012-10-21T15:54:39.327 に答える