0

jQueryを使ったWebアプリケーションで、ページネーションを追加したい。Firefox と Chrome で問題なく動作します。ただし、IE 8 では行数を計算できません。

this.init = function () {
    var rows = document.getElementById(tableName).rows;
    var records = (rows.length);
    this.pages = Math.ceil(records / itemsPerPage);
    this.inited = true;
}

IE 8 では行が 0 を返しますが、他のすべてのブラウザでは正しい行数が返されます。

html テーブルを DIV に追加しています。以下は、テーブルから作成された html です。

<TABLE style="PADDING-BOTTOM: 5px; PADDING-LEFT: 5px; PADDING-RIGHT: 5px; PADDING-TOP:     5px" class="pad white" border=0 cellSpacing=1 cellPadding=1 width="100%">
<TBODY>
<TR>
<TD bgColor=#0f4d79 width="10%">
<DIV align=center><STRONG>#</STRONG></DIV></TD>
<TD bgColor=#0f4d79 width="10%">
<DIV align=center><STRONG>Date</STRONG></DIV></TD>
<TD bgColor=#0f4d79 width="20%">
<DIV align=center><STRONG>Customer</STRONG></DIV></TD>
<TD bgColor=#0f4d79 width="30%">
<DIV align=center><STRONG>Description</STRONG></DIV></TD>
<TD bgColor=#0f4d79 width="10%">
<DIV align=center><STRONG>Status</STRONG></DIV></TD>
<TD bgColor=#0f4d79 width="20%">
<DIV align=center><STRONG>Amount</STRONG></DIV></TD></TR></TBODY></TABLE>
<DIV class=border-middle>
<TABLE id=**tblIncomeListData** class=pad border=0 cellSpacing=0 cellPadding=0        width="100%">
<TR class=even jQuery172016229059503345766="72">
<TD style="DISPLAY: none" vAlign=top width=0% align=middle>30</TD>
<TD vAlign=top width="10%" align=middle>00001</TD>
<TD vAlign=top width="10%" align=middle>May 28, 2013</TD>
<TD vAlign=top width="20%" align=middle>test1</TD>
<TD vAlign=top width="30%" align=middle>Other Income </TD>
<TD vAlign=top width="10%" align=middle>Paid</TD>
<TD style="TEXT-ALIGN: right" vAlign=top width="20%">OMR444.00</TD></TR></TABLE></DIV>
4

3 に答える 3

1

rows奇妙なことに、IE8 はこのプロパティをサポートしていると思いました。(編集:そうです:http: //jsbin.com/ocufuf/1それでも、今のところこれをそのままにしておきます...)

そのテーブル内にネストされたテーブルを持っていない限り(そして、あなたのようには見えません)、次のように置き換えることができますgetElementsByTagName

var rows = document.getElementById(tableName).getElementsByTagName('tr');

またはもちろん、jQuery を使用します (コードサンプルからは明らかではありませんが、使用していると言っているため):

var rows = $("#" + tableName + " tr");

これを行う場合、テーブル名を変更する必要があることに注意してください。これは HTML では**tblIncomeListData**有効ですが、CSS では有効ではありません。id

ネストされたテーブルを使用している場合でも、jQuery を使用して簡単にカウントを取得できます。

var rows = $("#" + tableName).children('thead, tbody, tfoot').children('tr');
于 2013-05-28T10:09:58.670 に答える
0

Jquery を使用しているため、次のコードを使用して行数を取得します。

var rows = $('#tableId tr').length;

getElementById の後、tableName 変数を使用したことにも注意してください。

テーブルの ID をその変数に格納しているかどうかはわかりませんが、getElementByIdまたはを使用している場合は、理想的にはテーブル要素の ID を渡す必要があります#tableId。これが役立つことを願っています。

于 2013-05-28T10:17:48.180 に答える