1

Javascript と jQuery を使用してテーブルを作成しています。テーブルの最初の行の td をクリックすると、その列の残りの td がドロップダウンするようにしたいのです。私のコードを示して説明してみましょう。これが私のJavascriptです:

function createTr (heights) { //heights is just an array of words
    for (var h=0; h<heights.length; h++) { 
        var theTr = $("<tr>", { id: "rowNumber" + h});
        for (var i=0; i<heights.length-3; i++) { 
            theTr.append($("<td>", { "class": "row"+h + " column"+i,
                                     html: heights[h][i]
                                   }));
        }
        $('#newTable').append(theTr); // append <tr id='rowNumber0'> to the table (#newTable), which is written in the html
    }
}

これは基本的に td を作成し、各 td はこの形式に似ています

<td class="rowh columni">

パラメータ 'heights' は単なる配列です。たとえば、

var heights = [['headerOne', 'headerTwo'], ['someTd', 'anotherTd'],];

そして、これらの単語を使用してテーブルを作成します。headerOne と headerTwo は最初の行にあり、someTd と anotherTd は 2 行目にあります。

.row0 の td を除くすべての td を非表示にしたい。.row0 を除くすべての行で td を非表示にしようとすると、機能しません。私が試したのは

$('.row0').hide();

$(document).ready( 関数の前、関数の後、および関数内で、どちらも機能しませんでした。私は基本的に createTr 関数をそのように呼び出しています

$(document).ready( function() {
    createTr(heights);
});

行が非表示にならない理由は何ですか?

テーブルを作成した後に非表示にするにはどうすればよいですか? Javascript コードの最後の部分として配置しようとしましたが、それでも機能しませんでした。私はそれが遅くなるテーブルを作成すると思います..hide()関数はJavascriptコードの最後の部分ですが、それでもコードの前に実行されます..テーブルが作成されるまでメソッドが待機する.hide()ようにするにはどうすればよいですか?.hide()

4

1 に答える 1