如何获取父元素的子元素(仅第一个匹配[0])
How to get children of parent element (only first match [0])
我有一个这样的代码:
<ul class="resource">
<li class="location"></li>
<li class="location"></li>
<li class="location"></li>
</ul>
<ul class="resource">
<li class="location"></li>
<li class="location"></li>
<li class="location"></li>
</ul>
<ul class="resource">
<li class="location"></li>
<li class="location"></li>
<li class="location"></li>
</ul>
我想知道资源中有多少个位置(每个资源的位置数量总是相同的)。在这个例子中,答案是3。
我尝试了以下操作:
$(".resource > .location").length // Returns 9 (obvious)
$(".resource")[0].children(".location") // Uncaught TypeError: $(...).get(...).children is not a function
唯一有效的是:
$(".location").length / $(".resource").length // I won't use this one
$($(".resource")[0]).children(".location") // I'm using this one at this moment
它看起来很脏。如果我没有错的话,这就是:"从DOM获取所有资源,只给我第一个,从DOM获取第一个资源"。这个页面有成千上万的资源,所以我正在尽可能地优化代码。
我可以在一个"DOM的调用"中完成吗?
提前感谢
您可以使用:first-child
选择器
$('.resource:first-child .location');
您可以使用eq()
伪选择器,如下所示。
$('resource:eq(0) .location').length;
或类似:first
的以下内容。
$('resource:first .location').length;
您可以使用Vanilla JS
:
document.querySelectorAll('.resource:first-child .location').length;
这也应该可以正常工作:
$('.resource:first > .location').length;
或者:
$('.resource').first().children('.location').length;
alert( $('.resource:first > .location').length );
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul class="resource">
<li class="location"></li>
<li class="location"></li>
<li class="location"></li>
</ul>
<ul class="resource">
<li class="location"></li>
<li class="location"></li>
<li class="location"></li>
</ul>
<ul class="resource">
<li class="location"></li>
<li class="location"></li>
<li class="location"></li>
</ul>
相关文章:
- Lodash:返回对象的第一个键,该对象的值(即数组)中有一个给定的元素(即字符串)
- Javascript:表单验证getElementById仅返回第一个id元素
- 使用jquery选择元素附近的第一个h2
- 在jQuery中,如何测试一个元素是否是同一类的多个元素中的第一个
- 只获取HTML元素的第一个类
- 如果第二个 html 元素位于第一个 html 元素上方,如何移动该元素
- 使用 querySelectorAll 获取具有该类名的所有元素,而不仅仅是第一个
- 在 javascript 中创建第二个 html 元素会删除第一个
- 如何停止在第一次按下回车键时触发第一个 onclick 事件的元素
- 获取列表中的第一个 DOM 元素
- 第一个jQuery插件-如何以正确的方式保存关联元素数据
- 如何使用Jquery选择第一个td元素及其文本
- 如何获取在视口中可见的第一个DOM元素
- 不要使用jquery选择第一个li元素
- 获取href不仅是第一个,而且是所有匹配的元素
- 如何编写一个选择器来查找第一个“输入”.在类为“x”的元素之后
- 向元素添加另一个类,但作为第一个类
- jQuery + CSS:如何检测第一个“移出”将光标移出元素
- 我如何从最接近的'tr'的第n个元素获得一个值
- Jquery删除所有的第一个span元素