<ul>
<li><span>1</span><span>2</span></li>
<li><span>11</span><span>22</span></li>
<li><span>111</span><span>222</span></li>
</ul>
结构就这样. 我认为匹配的应该是 ‘11’ ‘111’。 但结果是‘11’。 很纳闷不解。
然后换成
$('ul li:gt(0)').each(function(){
$(this).find('span:first').css('color', 'red');
});
可行。
求解为什么选择器不行.
选择器改成这样:$('ul li:gt(0) span:first-child').css('color','red');
$('ul li:gt(0) span')返回的结果集是span,$('ul li:gt(0) span:first')只是选择结果集中的第一个。即$('ul li:gt(0) span:first').length是1,而a b:first-child的含义是每一个a的子元素中,第1个与b匹配的元素,所以$('ul li:gt(0) span:first-child').length是2。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。