![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
非表示でなく削除でもいいんですが
テーブル列を非表示にする方法はありますか?
javascriptによって生成しない条件をつければいいと思うんですが
表自体がすでにjavascriptで生成されていてるので、ごちゃごちゃになりそうなのと
表も結構量があるので、処理が重くなってしまいそうです(今のところ考えつく方法では)
消したい物をすべてまとめて同じID的な物を振って置いて
そのIDを指定してdisplay:noneのようなスマートな非表示方法があれば、と思って探してます
classはデータセルごとにjavascriptで条件を見てつけています
![「テーブルのある列を非表示にする方法」の質問画像](http://oshiete.xgoo.jp/_/bucket/oshietegoo/images/media/d/733184_5497bc7fe8f49/M.jpg)
No.2ベストアンサー
- 回答日時:
ご提示の表だと、セルの結合などは行なっていないみたいなので、もしそうならば、わざわざidやクラスを設定しなくても、単純にループをまわすだけでよいのでは?
以下サンプル(入力値のチェックの方に手間がかかってるくらい)
*1/3/5 と入力すれば1、3、5列が非表示になる。(0列始まり)
*表示させる場合は、1/2,ture みたいな感じ。
*<th>などは考慮してないけれど、そのへんはよしなに。
<html>
<head><title>test</title>
<script type="text/javascript">
function test() {
var arg = document.getElementById('inp').value.split(',');
if (!arg[0]) return;
arg[1] = arg[1] || false;
var c = [], i, tmp = arg[0].split('/');
for (i=0; i<tmp.length; i++) if (!isNaN(tmp[i])) c.push(tmp[i]);
column (document.getElementById('tbl0'), c, arg[1]);
function column(t, c, f) {
var i=0, j, r, td, tr = t.getElementsByTagName('TR');
while (r = tr[i++]) {
td = r.getElementsByTagName('TD');
for (j=0; n=c[j++];) if (td[n]) td[n].style.display = f?'inline':'none';
}
}
}
</script>
</head>
<body>
<table border="1" id="tbl0">
<tr>
<td>1-1</td><td>1-2</td><td>1-3</td><td>1-4</td>
<td>1-5</td><td>1-6</td><td>1-7</td><td>1-8</td>
</tr>
<tr>
<td>2-1</td><td>2-2</td><td>2-3</td><td>2-4</td>
<td>2-5</td><td>2-6</td><td>2-7</td><td>2-8</td>
</tr>
<tr>
<td>3-1</td><td>3-2</td><td>3-3</td><td>3-4</td>
<td>3-5</td><td>3-6</td><td>3-7</td><td>3-8</td>
</tr>
<tr>
<td>4-1</td><td>4-2</td><td>4-3</td><td>4-4</td>
<td>4-5</td><td>4-6</td><td>4-7</td><td>4-8</td>
</tr>
<tr>
<td>5-1</td><td>5-2</td><td>5-3</td><td>5-4</td>
<td>5-5</td><td>5-6</td><td>5-7</td><td>5-8</td>
</tr>
</table>
<hr>
行番号(複数行の場合「/」区切り), boolean(true:表示,false:非表示(省略可)<br>
<input type="text" id="inp" value="">
<input type="button" value="実行" onclick="test()">
</body>
</html>
*rowとかcellも使えるみたいなので、そのほうが考えやすいかも。
http://f32.aaa.livedoor.jp/%7Eazusa/index.php?t= …
No.1
- 回答日時:
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript セレクトを全て選択されていないと、文字によるエラーメッセージを表示させるコードを調べています 2 2023/06/22 15:48
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- Access(アクセス) AccessVBAで降順にするテーブル作成クエリを使用して作成したテーブルを削除し同一のテーブル作成 1 2023/01/06 11:17
- Visual Basic(VBA) 【Excel VBA】条件に合った行の表示・非表示を行う方法 3 2023/03/18 12:31
- Excel(エクセル) Excelでの複数条件のカウントについて 1 2022/09/25 07:40
- JavaScript Q&Aの掲示板を作成していてヤフー知恵袋やgoo質問のように質問ごとにURLを生成したい 5 2023/08/04 01:22
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 6 2022/06/08 12:55
- Excel(エクセル) 重複データの抽出について 2 2023/07/21 14:52
- Excel(エクセル) 【マクロ】マクロが保存されているエクセルとは、別のエクセルブックの全シートの非表示列を再表示したい 1 2022/12/24 20:48
- Excel(エクセル) Excelでの検索結果を含む行だけを表示させたい 5 2023/03/10 17:08
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
セルの色>何が足りないのでし...
-
テーブル内に表示されている数...
-
マウスをブラウザの外に出した...
-
JavaScriptでテーブルをクリッ...
-
JavaScriptで特定のtdタグにcla...
-
【至急】チェックボックスを用...
-
テーブル行のクリックでチェッ...
-
JavaScript上で文字化け
-
ロールオーバー?について
-
PC情報の調べ方教えてください。
-
セレクトタグで選択したものを...
-
クリックされた罫表セルの行番...
-
onMouseOverで複数(?)のセル...
-
jspのエラー
-
古いJSがIE11で使えなくなった
-
javascript クリックすると、あ...
-
至急!GetElementById でtdの...
-
指定した「曜日」の「時刻」に...
-
jQueryでクリックされたテーブ...
-
【JQuery】テーブルで行選択さ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
特定<table>内の<td>の色を変える
-
プルダウンで選択すると、DBの...
-
一覧から選択した行の行番号を...
-
tableの任意行にfocusをあてる
-
ハイパーリンクを別ウインドウ...
-
JavaScriptで特定のtdタグにcla...
-
JavaScriptでテーブルをクリッ...
-
【UWSC】HTML内のある部分を抽...
-
至急!GetElementById でtdの...
-
チェックボックスにチェックが...
-
JavaScriptでテーブルの行入れ替え
-
動的なtableの値を取得したい
-
Selenium.ChromeDriverの使い方...
-
二次元配列に数字をランダムに...
-
Excelで作ったhtmlファイルのサ...
-
スクロールバーの表示位置を変...
-
テーブルの変数について
-
マウスをブラウザの外に出した...
-
テーブル行のクリックでチェッ...
-
jquery datatablesを使用 イン...
おすすめ情報