我想在第二个.tech
中插入类<li>
,在下面的代码中有什么问题?
html:
<div class="menu">
<nav class="sidebar">
<div class="client">
<div class="client-open">
<ul class="sidebar-nav">
<li>link1</li>
<li>link 2</li>
</ul>
</div>
</div>
</nav>
</div>
jquery:
$(function() {
$( ".sidebar-nav ul li:nth-child(2)" ).addClass('tech');
});
发布于 2016-12-07 10:41:32
.sidebar-nav
是ul,所以在.sidebar-nav
之后不需要选择器中的ul
:
$( ".sidebar-nav li:nth-child(2)" ).addClass('tech');
您可以在类之前添加它,以指定该类属于ul
:
$( "ul.sidebar-nav li:nth-child(2)" ).addClass('tech');
注意:由于使用jquery,所以可以使用:eq() (基于零的)选择器来代替:
$( "ul.sidebar-nav li:eq(1)" ).addClass('tech');
希望这能有所帮助。
$(function() {
$( "ul.sidebar-nav li:eq(1)" ).addClass('tech');
});
.tech{
color: green;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="menu">
<nav class="sidebar">
<div class="client">
<div class="client-open">
<ul class="sidebar-nav">
<li>link1</li>
<li>link 2</li>
</ul>
</div>
</div>
</nav>
</div>
发布于 2016-12-07 10:41:51
.sidebar-nav ul
更改为.sidebar-nav
,因为类.sidebar-nav
已经是ul
,您的代码所做的是在类.sidebar-nav
中搜索ul,这也是为什么不添加类的原因。您可以将选择器更新为:
$(".sidebar-nav li:nth-child(2)").addClass('tech');
// or
$("ul.sidebar-nav li:nth-child(2)").addClass('tech');
$(".sidebar-nav li:nth-child(2)").addClass('tech');
.tech {
color: red
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="menu">
<nav class="sidebar">
<div class="client">
<div class="client-open">
<ul class="sidebar-nav">
<li>link1</li>
<li>link 2</li>
</ul>
</div>
</div>
</nav>
</div>
发布于 2016-12-07 10:42:48
它应该是:
$(function() {
$( "ul.sidebar-nav li:eq(1)").addClass('tech');
});
https://stackoverflow.com/questions/41015258
复制相似问题