JavaScriptでTABLEを作る時にTHを入れたい

Kazuya Takato

Kazuya Takato

JavaScriptでテーブルをボタンが押されたら動的に1行増やしたかった。

それで書いてみたのが下のコード

function addTable(){
	// tableのオブジェクトを取得
	var tObj = $('table');
	// 行の長さを取得
	var index = tObj.rows["length"];
	// trを1つ追加
	var insObj= tObj.insertRow(index);

        // セルを1つ追加
        var thObj =nsObj.insertCell(0);
        var thObj.innerHTML = "タイトル";

        // セルをもう1つ追加
	var trCell=insObj.insertCell(1);
	var thObj.innerHTML = "中身";
}

これで増えるのだけれど、タイトルを各部分をthタグにしたかったのだが、tdタグになってしまう。

insertCell()はtdタグを追加してくれるだけなのかな。

しょうがないのでこんな感じにした。

function addTable(){
	// tableのオブジェクトを取得
	var tObj = $('table');
	// 行の長さを取得
	var index = tObj.rows["length"];
	// trを1つ追加
	var insObj= tObj.insertRow(index);

        // セルを1つ追加
        // thオブジェクト作成
	var thObj = document.createElement("th");
        thObj.innerHTML = "タイトル";
        // trオブジェクトに追加
        insObj.appendChild(thObj);

        // セルをもう1つ追加
	var trCell=insObj.insertCell(1);
	var thObj.innerHTML = "中身";
}

これでthタグを追加できたけど、もっといいやり方がありそうな気がしてしょうがないなぁ。

JavaScriptは難しい。

LIGはWebサイト制作を支援しています。ご興味のある方は事業ぺージをぜひご覧ください。

Webサイト制作の実績・料金を見る

この記事のシェア数

1983年生まれ。SIerとしてのキャリアをスタートし、JavaやC#を中心に多岐にわたる開発プロジェクトにエンジニアとして参加。その経験を活かし、LIGを創業。バックエンドおよびフロントエンドエンジニアとしての深い知識と経験をもとに、多様なプロジェクトに従事。2023年7月には社長室室長に就任にし、社内の体制やルールの最適化、AI技術の推進など、経営戦略の一翼を担っています。

このメンバーの記事をもっと読む
デザイン力×グローバルな開発体制でDXをトータル支援
お問い合わせ 会社概要DL