【发布时间】:2016-11-18 12:43:41
【问题描述】:
我想在 ul.navigator 中更改 ul 的类,试图仅在我单击的 li 上更改它。但这不会改变任何东西,不起作用。有什么帮助吗?
$('.navigator').children('li ul').each(function() {
if ($(this).hasClass('opened')) {
$(this).addClass('closed');
$(this).removeClass('opened');
} else {
$(this).addClass('opened');
$(this).removeClass('closed');
}
});
.opened {
color: green
}
.closed {
color: red
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul class="navigator">
<li class="elem1">
<span>Element 1</span>
<ul class="opened">
<li>Item 1</li>
<li>Item 2</li>
</ul>
</li>
<li class="elem2">
<span>Element 2 </span>
</li>
<li class="elem3">
<span>Element 3 </span>
</li>
</ul>
【问题讨论】:
-
您没有在代码中的任何位置绑定点击事件
-
你已经把某样东西装扮成一个 sn-p,实际上它不是一个 sn-p。添加必要的库和代码以使其可运行(或仅使用代码块)。
标签: javascript jquery html css children