内容目录
jQuery的:only-of-type选择器用于匹配作为父元素唯一一个该类型的子元素的元素,将其封装为jQuery对象并返回。
例如,li:only-of-type选择器的匹配条件是:该<li>元素必须是父元素中的唯一一个<li>类型的子元素。
语法
jQuery1.9 新增该选择器。
// 这里的selector表示具体的选择器
jQuery( "selector:only-of-type" )
参数
参数 | 描述 |
---|---|
selector | 一个有效的选择器。 |
返回值
返回封装了匹配作为父元素的唯一该类型子元素的元素的jQuery对象。
如果找不到任何相应的匹配,则返回一个空的jQuery对象。
jQuery先会根据选择器selector
去查找所有匹配的元素,再判断它们是否是自己父元素的唯一一个此类型的子元素,如果是就保留,否则就舍弃掉该元素。
注意::only-of-type选择器最好在$(document).ready(callback)
的函数参数callback
中使用,否则在Chrome浏览器中可能会出现无法匹配到某些元素的问题(例如下面HTML示例代码中的n1)。
示例&说明
以下面这段HTML代码为例:
<div id="n1">
<p id="n2">
<span id="n3" class="abc">span2</span>
<span id="n4">span3</span>
</p>
<div id="n5" class="abc">
<label id="n6">label1</label>
<span id="n7" class="abc">span2</span>
</div>
</div>
现在,我们查找作为父元素的唯一一个span类型子元素的span标签,则可以编写如下jQuery代码:
// 选择了id为n7的一个元素
$("span:only-of-type");
接着,查找所有包含类名abc
的元素,而且它们必须是父元素的唯一一个该类型的子元素,则可以编写如下jQuery代码:
// 选择了id分别为n5、n7的两个元素
// .abc可以匹配id分别为n3、n5、n7的3个元素,n5是n1唯一一个div类型的子元素,n7是n5的唯一一个span类型的子元素,但n3不是n2的唯一一个span类型的子元素,因此不能匹配n3。
$(".abc:only-of-type");
0 条评论
撰写评论