人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

こちらの質問の続きです
http://q.hatena.ne.jp/1389220772

リンク先の以下のjavascriptで、チェックが入ってないチェックボックスの行を消しています

function exec2() {
var checks = document.getElementsByTagName("INPUT");
for (var i = 0 ; i < checks.length ; ++i) {
if (checks[i].type == "checkbox" && ! checks[i].checked) {
checks[i].parentNode.parentNode.style.display = "none";
}
}
}

上記のjavascriptで消した行を再表示したいのですが
その場合は<table>タグ全体
checks[i].parentNode.parentNode.style.display = "block";
を適応したいのですが、その場合どのようなプログラムを書けばいいでしょうか?
よろしくお願いします

●質問者: takanii
●カテゴリ:ウェブ制作
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● a-kuma3
●300ポイント

こんな感じの関数を呼べば良いと思います。

function re_disp() {
 var tables = document.getElementsByTagName("TABLE");
 for (var i = 0 ; i < tables.length ; ++i) {
 var rows = tables[i].getElementsByTagName("TR");
 for (var j = 0 ; j < rows.length ; ++j) {
 rows[j].style.display = "";
 }
 }
}

消したのは TR タグの要素なので、それを探して CSS の display をデフォルトに戻しています。
いきなり TR を getElementsByTagName() メソッドで探しても良いのですが、何となく TABLE を探してから、その中にある TR を探すようにしてみました。

TR のデフォルトの display は、"block" ではなく "table-row" なので、"block" を入れるのではなく、空文字列か "table-row" を設定することになります。

関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ