0

私は2つのテーブルを持っています。最初のものはヘッダーのみです。これは、広告をスクロールできないようにする解決策が見つからなかったためです。2 番目のものにはコンテンツが含まれていますが、サイドが読み込まれると空になります。最初に両方のテーブルのコード。

            <table width="100%">
                <caption class="splitselection">
                    <b>Downloads</b>
                </caption>
                <thead align="left">
                    <tr> 
                        <th scope="col" width="36%"   align="left"          >Dateiname           </th>
                        <th scope="col" width="32%"   align="left"          >Fortschritt         </th>
                        <th scope="col" id="status" width="22%"align="left" >Status              </th>
                        <th scope="col" width="10%" align="left"            >Ordner &ouml;ffnen  </th>
                    </tr>
                </thead>
            </table>
            <div style="overflow:auto; height:115px;  width:100%" class="downloadFrame">
                <table width="100%" id="download_table" align="center">
                    <tbody align="left">
                    </tbody>
                </table>
            </div>

今のところ<tr>、次のコードでコンテンツを含むテーブル内のすべての要素をキャッチしたいと思います。

var interval = window.setInterval(function() {
    $('#download_table > tbody > tr').each(function() {
        alert($(this).find('td')[0].html);
    });
},5000);

特定のテーブルセルをチェックする間隔を作成しています。

私のアラートでは、このテーブルセルを取得したいのですが、ここの私のアラートは「未定義」を返します。書いalert($(this).find('td')[0]);ているだけの場合は、 HTML が返されますhtmlObjectTableCell

テーブル行を追加しないと、間隔は何もしません。行を追加すると、アラートが表示されます。だから私にとっては、テーブルセルのhtmlを取得したいときに何か問題があるに違いありません

それでも、.html .val と .text を使用しようとしましたが、以前と同じ結果が得られます。

4

4 に答える 4

1

#download_table の直接の子である tbody-element の直接の子である各 tr をループしています。マークアップが示しているのは、tbody-element に子がまったくないことです。

于 2012-12-17T13:22:51.100 に答える
1

DOM 要素のコンテンツの HTML は、 という名前のinnerHTMLプロパティではなく、プロパティに保存されるhtmlため、その行を次のように変更する必要があります。

alert($(this).find('td')[0].innerHTML);
于 2012-12-17T13:25:31.600 に答える
1

代わりにこれを試してください:

$(this).find('td').eq(0).html();

また

$(this).find('td:first-child').html();

ちなみに、関数を呼び出すのではなく$("foo").html、関数への参照を返します。という名前の関数を実際に実行したい場合は、代わりにhtml必ず使用してください。function_name()function_namefunction_name

説明

jQuery では$('selector')[0]、 は jQuery でラップされたオブジェクトではなく、PODO (Plain Old Dom Object?) を返します。つまり、返されたオブジェクトに対して jQuery 関数を呼び出すことはできません。ただし$('selector').eq(0)、jQuery でラップされたオブジェクトを返すため、jQuery 関数を呼び出すことができます。

于 2012-12-17T13:34:51.167 に答える
0

<td>表にはありません

于 2012-12-17T13:26:21.343 に答える