将类设置为活动,并在选择另一个菜单项时删除它

时间:2012-06-27 08:39:58

标签: javascript jquery html css

我在jsfiddle中测试了下面的脚本,它运行正常,有人可以指导我如何解决它吗?这是我需要它工作的URL,右上角的向导样式菜单应该在单击时将每个项目设置为活动,然后在单击另一个菜单项时删除:http://morxmedia.com/clients/temp/45p/index_vertical.html

以下是我正在使用的代码:

    <script type="text/javascript">
      $('.wizard-steps div').click(function(e) {
            e.preventDefault();
            $('a').removeClass('active');
            $(this).addClass('active');
        });
    </script>

5 个答案:

答案 0 :(得分:3)

您应该将点击事件绑定到div元素,然后将它们绑定到a元素,如此

$(document).ready(function(){
    $('.wizard-steps > div > a').click(function(e) {
        e.preventDefault();
        $('a').removeClass('active');
        $(this).addClass('active');
    });
});

答案 1 :(得分:2)

试试这个。

$(function() {
    $('.wizard-steps div').click(function(e) {
       e.preventDefault();
       $(this).addClass('active').siblings().removeClass('active');
    });
});

答案 2 :(得分:1)

最好将其包含在准备好的

$(document).ready(function() {
  $('.wizard-steps div').click(function(e) {
        e.preventDefault();
        $('a').removeClass('active');
        $(this).addClass('active');
    });
});

答案 3 :(得分:1)

据我所知(在你的CSS中)。课程active应该放在wizard-steps下的div和a - 标记的父级。

试试这个:

<script type="text/javascript">
$('.wizard-steps div a').click(function(e) {
    if (e.preventDefault)
        e.preventDefault();
    else
        e.stop();

    $('.wizard-steps div').removeClass('active');
    $(this).parent().addClass('active');
});
</script>

答案 4 :(得分:0)

可以使用jquery使用.not()

以另一种方式完成

Jquery代码:

$('.wizard-steps div').click(function() {
          $('.wizard-steps div').not(this).removeClass('active');
          $(this).addClass('active');
});

演示: http://jsfiddle.net/surendraVsingh/PLbbr/