首页 > 解决方案 > 如何使用 javascript 获取以下 html 的计数?

问题描述

我正在尝试获取 dir-pagination-controls 中的无序列表中的列表项计数。如何使用 javascript 获取列表项的计数?

<dir-pagination-controls min-size="1" direction-links="true" boundary-links="true" class="pull-right ng-isolate-scope"
                         pagination-id="openRabPagination"><!-- ngIf: 1 < pages.length -->
  <ul class="pagination ng-scope" ng-if="1 < pages.length"><!-- ngIf: boundaryLinks -->
    <li ng-if="boundaryLinks" ng-class="{ disabled : pagination.current == 1 }" class="ng-scope disabled"><a href=""
                                                                                                             ng-click="setCurrent(1)">«</a>
    </li><!-- end ngIf: boundaryLinks --><!-- ngIf: directionLinks -->
    <li ng-if="directionLinks" ng-class="{ disabled : pagination.current == 1 }" class="ng-scope disabled"><a href=""
                                                                                                              ng-click="setCurrent(pagination.current - 1)">‹&lt;/a>
    </li><!-- end ngIf: directionLinks --><!-- ngRepeat: pageNumber in pages track by $index -->
    <li ng-repeat="pageNumber in pages track by $index"
        ng-class="{ active : pagination.current == pageNumber, disabled : pageNumber == '...' }"
        class="ng-scope active"><a href="" ng-click="setCurrent(pageNumber)" class="ng-binding">1</a></li>
    <!-- end ngRepeat: pageNumber in pages track by $index -->
    <li ng-repeat="pageNumber in pages track by $index"
        ng-class="{ active : pagination.current == pageNumber, disabled : pageNumber == '...' }" class="ng-scope"><a
      href="" ng-click="setCurrent(pageNumber)" class="ng-binding">2</a></li>
    <!-- end ngRepeat: pageNumber in pages track by $index -->
    <li ng-repeat="pageNumber in pages track by $index"
        ng-class="{ active : pagination.current == pageNumber, disabled : pageNumber == '...' }" class="ng-scope"><a
      href="" ng-click="setCurrent(pageNumber)" class="ng-binding">3</a></li>
    <!-- end ngRepeat: pageNumber in pages track by $index -->
    <li ng-repeat="pageNumber in pages track by $index"
        ng-class="{ active : pagination.current == pageNumber, disabled : pageNumber == '...' }" class="ng-scope"><a
      href="" ng-click="setCurrent(pageNumber)" class="ng-binding">4</a></li>
    <!-- end ngRepeat: pageNumber in pages track by $index --><!-- ngIf: directionLinks -->
    <li ng-if="directionLinks" ng-class="{ disabled : pagination.current == pagination.last }" class="ng-scope"><a
      href="" ng-click="setCurrent(pagination.current + 1)">›&lt;/a></li><!-- end ngIf: directionLinks -->
    <!-- ngIf: boundaryLinks -->
    <li ng-if="boundaryLinks" ng-class="{ disabled : pagination.current == pagination.last }" class="ng-scope"><a
      href="" ng-click="setCurrent(pagination.last)">»</a></li><!-- end ngIf: boundaryLinks --></ul>
  <!-- end ngIf: 1 < pages.length -->
</dir-pagination-controls>

标签: javascriptjqueryhtmlangularjs

解决方案


使用 vanilla javascript,您可以使用querySelectorAll它返回一个 NodeList,然后您可以获得它的长度。对于您的情况,像这样的选择器ul.pagination>li应该可以工作


推荐阅读