簡體   English   中英

如何從javascript中計算表中禁用列的數量?

[英]How to count number of disabled columns in a table from javascript?

我的表格格式是

<table class"tabletop">
    <tr>
        <td>
        <table>
            <tr>
                <td id="mycol1"></td>
                <td id="mycol2"></td>
                <td id="mycol3"></td>
                <td id="mycol4"></td>
            </tr>
        </table>
        </td>
    </tr>
    <tr>
    </tr>
</table>

我必須計算未禁用(或顯示不為null)且已禁用的列(具有ID)。 假設禁用的列為4,未禁用的列為2,因此它必須返回禁用:4,而不是禁用:2

td已通過其ID禁用。 例如

mycol1.style.display="none";

工作解決方案試試這個

  <script type = "text/javascript" language = "javascript">

     function getHiddenColumnCount() {
         var tbl = document.getElementById("myTbl");
         var HiddenColumnCount = 0; 
         for(var OuterCounter = 0 ; OuterCounter < tbl.rows.length ; OuterCounter++)
         {
             for(var InnerCounter = 0 ; InnerCounter <                    tbl.rows[OuterCounter].cells.length;InnerCounter++)
            {
                if (tbl.rows[OuterCounter].cells[InnerCounter].style.display == "none")
                HiddenColumnCount++;
            }
         }
         alert("There are " + HiddenColumnCount + " Hidden Columns in Table");
      }
 </script>   

您可以使用

$('table td:visible').length

試試這個: fiidle

<table border="1" id="myTbl">
        <tr>
            <td class="mycol1">
                1
            </td>
            <td class="mycol2">
                2
            </td>
            <td class="mycol3">
                3
            </td>
            <td class="mycol4">
                4
            </td>
        </tr>
    </table>
    <script>
        function hideColumn(columnClass) {
            var els = document.getElementsByClassName(columnClass);
            for (var i = 0; i < els.length; i++) {
                els[i].style.display = "none";
            }
        }
        hideColumn('mycol1');
        hideColumn('mycol2');

        function getHiddenColumnsCount() {
            var rows = document.getElementById('myTbl').rows;
            var count = 0;
            for (var i = 0; i < rows.length; i++) {
                for (var j = 0; j < rows[i].cells.length; j++) {
                    if (rows[i].cells[j].style.display == "none")
                        count++;
                }
            }
            alert(count);
        }
        getHiddenColumnsCount();
    </script>

首先,您應該使用class而不是id來定義列,因為id不能重復&要定義列,我們必須為列的所有單元格提供相似的id。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM