sam*_*old 35 javascript jquery children
如何id=div1使用第一个子选择器选择这些div中的第一个div(带有)?
<div class="alldivs">
<div class="onediv" id="div1">
</div>
<div class="onediv" id="div2">
</div>
<div class="onediv" id="div3">
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
Rok*_*jan 44
试试: $('.onediv').eq(0)
来自演示:针对第一个未知的选择器和方法的其他示例:LIUL
.eq()方法:$('li').eq(0)
:eq()selector:$('li:eq(0)')
.first()方法$('li').first()
:first选择器:$('li:first')
:first-childselector:$('li:first-child')
:lt()selector:$('li:lt(1)')
:nth-child()selector:$('li:nth-child(1)')
jQ + JS:
你也可以[i]用来从jQuery el中获取JS HTMLelement 索引.(数组)集合,例如:
$('li')[0]
Run Code Online (Sandbox Code Playgroud)
既然你有JS元素表示,你必须使用JS本机方法,例如:
$('li')[0].className = 'active'; // Adds class "active" to the first LI in the DOM
Run Code Online (Sandbox Code Playgroud)
或者你可以(不要 - 这是糟糕的设计)将它包装回jQuery对象
$( $('li')[0] ).addClass('active'); // Don't. Use .eq() instead
Run Code Online (Sandbox Code Playgroud)
Fre*_*old 20
$('div.alldivs :first-child');
Run Code Online (Sandbox Code Playgroud)
或者你可以直接引用id:
$('#div1');
Run Code Online (Sandbox Code Playgroud)
如建议的那样,您最好使用子选择器:
$('div.alldivs > div:first-child')
Run Code Online (Sandbox Code Playgroud)
如果你不必使用first-child,你可以使用:first,也建议,或 $('div.alldivs').children(0).
使用:first-child选择器.
在你的例子中......
$('div.alldivs div:first-child')
Run Code Online (Sandbox Code Playgroud)
这也将匹配符合选择标准的任何第一个孩子后代.
虽然
:first匹配只有一个元素,但:first-child选择器可以匹配多个:每个父元素一个.这相当于:nth-child(1).
对于第一个匹配的唯一,使用:first选择.
或者,Felix Kling建议使用直接后代选择器来获得直接的孩子......
$('div.alldivs > div:first-child')
Run Code Online (Sandbox Code Playgroud)