你喜欢这个
<li>1</li>
<li>2</li>
<li>3</li>
<li class="seperator">...</li>
<li>4</li>
<li>5</li>
<li>6</li>
如何计算顶部和底部的项目数?
答案 0 :(得分:3)
假设他们都是单身父母,有几种方法。你可以使用prevAll
作为之前的长度:
var previousCount = $(".seperator").prevAll().length;
对于之后的那些,它是nextAll
:
var nextCount = $(".seperator").nextAll().length;
示例 - 请注意我稍微更改了您的HTML,以便我们双方都没有相同的数字,因此我们知道它正在运行:
console.log("Before:", $(".seperator").prevAll().length);
console.log("After:", $(".seperator").nextAll().length);
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
<li class="seperator">...</li>
<li>4</li>
<li>5</li>
<li>6</li>
<li>7</li><!-- I added this one -->
</ul>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
旁注:正确的拼写是“分隔符”(一个'e',两个'a'),而不是“分隔符”(两个'e',一个'a'),但我在上面保留了你的拼写。
答案 1 :(得分:0)
从分隔符开始,然后使用prevAll()
和nextAll()
获取集合,然后使用它们的长度
var topCount = $('.seperator').prevAll().length
var bottomCount = $('.seperator').nextAll().length
答案 2 :(得分:0)
您可以使用prevAll()获取匹配元素集合中元素的前一个兄弟节点,并使用nextAll()获取匹配元素集合中元素的以下兄弟节点
阅读:http://api.jquery.com/prevall/
和http://api.jquery.com/nextall/
Unable to find application to perform this action
&#13;
console.log($(".seperator").prevAll("li").length);
console.log($(".seperator").nextAll("li").length);
&#13;
答案 3 :(得分:0)
您可以使用其他答案中已提及的prevAll
和nextAll
,也可以使用index()
并根据{{1}的长度获取值}:
ul
&#13;
prev = $('.seperator').index();
next = $('ul li').length - $('.seperator').index() - 1;
console.log(prev);
console.log(next);
&#13;