3

jQueryによってコードにtbodyを追加せずに、jQueryでテーブルを作成するにはどうすればよいですか?http://jsfiddle.net/r7BFq/を参照してください

$('table').html('<tr><td>A</td><td>B</td></tr>');
$('pre').text($('table').html());​

結果は

<tbody><tr><td>A</td><td>B</td></tr></tbody>

私はそれを望んでいません。が欲しいです:

<tr><td>A</td><td>B</td></tr>
4

3 に答える 3

2

なぜ削除しようとしますかtbody。あなたのブラウザは有効なhtmlの一部を追加しようとしています、あなたは行方不明です。いいじゃないですか?

于 2012-11-15T07:36:51.633 に答える
1

このデモをお試しください http://jsfiddle.net/d8zVX/

@undefined bruvを引用してください:Actually browser creates the tbody element not jQuery

さらにこれを読んでください:

ブラウザがまだHTML5に<tbody>を挿入するのはなぜですか?

引用

歴史的な理由から、特定の要素には、コンテンツモデルによって与えられた制限を超えた追加の制限があります。

この仕様で説明されているコンテンツモデルに従ってテーブル要素内でこれらの要素が技術的に許可されている場合でも、テーブル要素にtr要素を含めることはできません。(tr要素がマークアップのテーブル内に配置されている場合、実際にはその前にtbody開始タグがあります。)

これはニーズに合います:)

コード

$('table').html('<tr><td>A</td><td>B</td></tr>');
var hulk = $('table').html().replace(/<\/?tbody>/g, '');;
$('pre').text(hulk);​

作業画像

ここに画像の説明を入力してください

于 2012-11-15T07:39:59.070 に答える
0

これは完璧に機能します:

HTML:

<div id="table_sample"></div>

JQUERY:

$('#table_sample').html('<tr><td>A</td><td>B</td></tr>');
$('#table_sample').text($('#table_sample').html());
于 2012-11-15T07:44:03.887 に答える