javascript - 从 div 获取行数

标签 javascript jquery

如何从 div 中获取行数?我应该从计数中得到 2。我在 jsfiddle 上试过这个但我无法得到计数。我要做的就是获取总计数并将计数放入 rowCount div

        <div id="__gvctl00_ctl33_g_1fce23cc_cb78_4993_8f8a_c3369f472afa_ReportGrid__div">
        <table class="ms-WPBody" cellspacing="0" id="ctl00_ctl33_g_1fce23cc_cb78_4993_8f8a_c3369f472afa_ReportGrid" style="border-style:None;width:100%;border-collapse:collapse;width:100%;">
            <tbody><tr class="ms-viewheadertr ms-vhltr">
                <th class="ms-vh2" align="left" scope="col">Item</th><th class="ms-vh2" align="left" scope="col">&nbsp;</th><th class="ms-vh2" align="left" scope="col"><a onclick="javascript:__gvctl00_ctl33_g_1fce23cc_cb78_4993_8f8a_c3369f472afa_ReportGrid.callback(&quot;0|0|/wEFDFdvcmtmbG93TmFtZQmCSxMfY/MQRgGNQMjtH6ms4WKDojWXqKHYKkdrUi0C|&quot;); return false;" href="javascript:__doPostBack('ctl00$ctl33$g_1fce23cc_cb78_4993_8f8a_c3369f472afa$ReportGrid','Sort$WorkflowName')">Workflow</a></th><th class="ms-vh2" align="left" scope="col">Status</th><th class="ms-vh2" align="left" scope="col"><a onclick="javascript:__gvctl00_ctl33_g_1fce23cc_cb78_4993_8f8a_c3369f472afa_ReportGrid.callback(&quot;0|0|/wEFCUVudHJ5VGltZWJK5FwcSWabKTvGRw+GSCnlui6XteK5oxR2+e2cXtJw|&quot;); return false;" href="javascript:__doPostBack('ctl00$ctl33$g_1fce23cc_cb78_4993_8f8a_c3369f472afa$ReportGrid','Sort$EntryTime')">Waiting since</a></th><th class="ms-vh2" align="left" scope="col"><a onclick="javascript:__gvctl00_ctl33_g_1fce23cc_cb78_4993_8f8a_c3369f472afa_ReportGrid.callback(&quot;0|0|/wEFFEN1cnJlbnRBY3Rpdml0eVRpdGxlkVg5pZyBZyiI8xdXZ5QTh61pFRK8yr4Y6G7G3fj/9GE=|&quot;); return false;" href="javascript:__doPostBack('ctl00$ctl33$g_1fce23cc_cb78_4993_8f8a_c3369f472afa$ReportGrid','Sort$CurrentActivityTitle')">Current action</a></th>
            </tr><tr>
                <td class="ms-vb2"><a href="http://canada-dev.canada.com/teams/wf/_layouts/15/NintexWorkflow/Redirect.aspx?view=WorkflowTask&amp;InstanceId=c051a9ce-8c56-40ed-af65-a69f6cf1af18&amp;SPTaskID=9">a test</a></td><td class="ms-vb2"></td><td class="ms-vb2">TEST-legalTasks</td><td class="ms-vb2"></td><td class="ms-vb2">4/6/2015 9:18 AM</td><td class="ms-vb2"><a href="http://canada-dev.canada.com/teams/wf/_layouts/15/NintexWorkflow/Preview.aspx?ListId=9417bb8a-7811-4b04-80d6-507c788969f5&amp;ItemId=1&amp;WorkflowId=5bdd0cef-5ade-4a27-ad9b-f0cfc17e3bf7&amp;InstanceId=c051a9ce-8c56-40ed-af65-a69f6cf1af18">Request approval</a></td>
            </tr><tr class="ms-alternating">
                <td class="ms-vb2"><a href="http://canada-dev.canada.com/_layouts/15/NintexWorkflow/Redirect.aspx?view=WorkflowTask&amp;InstanceId=9440ac78-287f-43d2-bb58-aebbe9c64983&amp;SPTaskID=3">How to handle in Nintex workflwo</a></td><td class="ms-vb2"></td><td class="ms-vb2">Nintex Task Workflow</td><td class="ms-vb2"></td><td class="ms-vb2">4/6/2015 2:05 PM</td><td class="ms-vb2"><a href="http://canada-dev.canada.com/_layouts/15/NintexWorkflow/Preview.aspx?ListId=331be81b-ce04-4930-819e-2ed17daf5acd&amp;ItemId=2&amp;WorkflowId=bff491a8-e0ef-4a12-aec1-8ebb4cd868db&amp;InstanceId=9440ac78-287f-43d2-bb58-aebbe9c64983">Request approval</a></td>
            </tr>
        </tbody></table>
    </div>

最佳答案

您可以像这样获取表中 tr 元素的计数:

$(".ms-WPBody tr").not(":has(th)").length

这将找到所有tr 元素没有 子元素th

完整代码:

var rowCount = $(".ms-WPBody tr").not(":has(th)").length;
$(".rowCount").text("Num of rows: " + rowCount);

这表明:

Num of rows: 2

并且不必使用任何像“-1”这样的魔数(Magic Number),如果表改变结构,它可能会引入严重的错误。

这是更新后的 jsfiddle:https://jsfiddle.net/quyk2dqg/7/

关于javascript - 从 div 获取行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31460800/

相关文章:

javascript - 如何在 Electron 中使用 React Router?

javascript - 在不同文件中拆分文件(例如 html、图像、css、js 等)时,HTML 和 CSS 是否应保留在同一域中

javascript - 使用 renderBuffer 作为 HTML5 音频标签

javascript - JQuery 取了错误的值

javascript - json 无法更改 dataWithLabels

javascript - E>F 和 E+F 选择器的区别?

javascript - 在 Controller 的 div 中显示图像?

javascript - 我无法调用我的 jQuery 函数

jquery - Twitter Bootstrap Modal 和 Jquery Cookie 插件

javascript - flex slider 下一个/上一个按钮