我想从li
中选择第一次出现的ul
,但没有特定的等级。
请检查以下代码段,例如,我想在red
添加课程li
,而myClass
没有课程<li>Two</li>
。我希望red
应该添加课程$(document).ready(function() {
$('ul li:not(.myClass):first-child').addClass('red');
});
。
.red {
color: red;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul>
<li class="myClass">One</li>
<li>Two</li>
<li>Three</li>
<li>Four</li>
<li>Five</li>
</ul>
&#13;
class Parent(object):
x = False
class Intermediate(Parent):
x = True
class Child1(Intermediate):
//...data
class Child2(Intermediate):
//...data
&#13;
更新:同样,我也想选择第二个孩子。有可能吗?
先谢谢。
答案 0 :(得分:3)
使用:first
代替:first-child
选择器
$(document).ready(function() {
$('ul li:not(.myClass):first').addClass('red');
});
&#13;
.red {
color: red;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul>
<li class="myClass">One</li>
<li>Two</li>
<li>Three</li>
<li>Four</li>
<li>Five</li>
</ul>
&#13;
您可以使用.eq(index)
$('ul li:not(.myClass):eq(1)').addClass('red');
答案 1 :(得分:1)
您只需使用:first
而不是:first-child
。所以你的选择器应该是'ul li:not(.myClass):first'
$(document).ready(function() {
$('ul li:not(.myClass):first').addClass('red');
});
<强> Eidted 强>
发表评论后,我想推荐jquery eq()函数。通过使用eq(),您可以通过传递li
的第n个来选择任何li
。
$('ul li:not(.myClass):eq(1)').addClass('red');
对于eq()
函数,li
的第一个位置是0
答案 2 :(得分:0)
尝试
$(document).ready(function() {
$('ul li:first-child').addClass('red');
});