Javascript 使用jQuery获取父元素的前三个子元素
我想得到div中的前3个元素,即e1、e2和e3:Javascript 使用jQuery获取父元素的前三个子元素,javascript,jquery,jquery-selectors,Javascript,Jquery,Jquery Selectors,我想得到div中的前3个元素,即e1、e2和e3: <div id="parent"> <div id="e1">element 1</div> <div id="e2">element 2</div> <div id="e3">element 3</div> <div id="e4&q
<div id="parent">
<div id="e1">element 1</div>
<div id="e2">element 2</div>
<div id="e3">element 3</div>
<div id="e4">element 4</div>
</div>
要素1
要素2
要素3
要素4
我想用jQuery实现这一点。实现这一点的最佳方法是什么?实际上您可以使用带有函数表示法的伪类来实现这一点。因此,这将像:
:nth-child(-n+3)
Represents the first three elements. [=-0+3, -1+3, -2+3]
其中,函数表示法表示列表中的元素,其索引与由a+B
定义的自定义数字模式中的索引匹配,其中:
A
是一个整数步长,
B
是一个整数偏移,
n
都是正整数,从0
开始
因此,您的最终代码如下所示:
const elements=document.querySelectorAll('#parent>div:n个子(-n+3)'))
elements.forEach(element=>{
console.log(element.id)
})
要素1
要素2
要素3
要素4
您可以使用jQuery函数和一个带有函数索引的小条件if语句
$('#parent').children().each(function(index){
// To counteract the zero-based index.
index++
if (index < 4) {
console.log(this);
}
});
$('#parent').children().each(函数(索引){
//以抵消从零开始的索引。
索引++
如果(指数<4){
console.log(this);
}
});
$(“#parent”).children().slice(0,3).map(it=>it.id)
你试过什么吗?好吧,不管我最近的答案是什么,我对此没有问题,但至少要澄清一下,并告诉我原因:DWorks很棒,这是一个很好的解释!谢谢