我有一个只有一页的网站,菜单如下:
<ul id="menu-menu" class="nav">
<li id="1"><a href="#">Item 1</a></li>
<li><a href="#">Item 2</a>
<ul>
<li id="1" class="sub"><a href="#">Item 2-1</a></li>
<li id="1" class="sub"><a href="#">Item 2-2</a></li>
<li id="1" class="sub"><a href="#">Item 2-3</a></li>
</ul>
</li>
<li id="1"><a href="#">Item 3</a></li>
<li id="1"><a href="#">Item 4</a></li>
</ul>
<script type="text/javascript">
/* <![CDATA[ */
var J = jQuery.noConflict();
J(document).ready(function(){
J('.nav li:first').addClass('current');
J('ul.nav').each(function() {
J(this).find('li#1').each(function(i) {
J(this).click(function(){
J(this).addClass('current');
J(this).siblings().removeClass('current');
});
});
});
});
/* ]]> */
</script>
当我点击项目1时,项目2-2保持兴奋。
有什么办法解决这个问题吗?
发布于 2012-01-26 18:34:36
var J = jQuery.noConflict();
J(function(){
J('ul.nav li:first').addClass('current');
J('ul.nav li').click(function (e) {
J('ul.nav li.current').removeClass('current');
J(this).addClass('current');
e.stopPropagation(); // prevent the event click from bubbling up
});
});
发布于 2012-01-26 18:47:02
未经测试,但尝试替换
J(this).addClass('current');
J(this).siblings().removeClass('current');
使用
J('ul.nav .current').removeClass('current');
J(this).addClass('current');
。
问题是同级选择器只能找到同级元素,而不是其他元素。
https://stackoverflow.com/questions/9016763
复制相似问题