jquery不适用于多个但同一个类

时间:2015-05-10 21:12:10

标签: javascript php jquery html jquery-mobile

我的移动菜单有这个jquery,点击

更改课程
jQuery("#slide-out-open").click(function() {
    if( jQuery( this ).hasClass( "slide-out-open" ) ) {
        jQuery('#wrapper').css({overflow:"hidden"});
        jQuery("body").addClass( 'js-nav' );
        jQuery( this ).removeClass('slide-out-open').addClass('slide-out-close');
        return false;
    }
    else if( jQuery( this ).hasClass( "slide-out-close" ) ) {
        jQuery('#wrapper').css({overflow:"auto"});
        jQuery("body").removeClass( 'js-nav' );
        jQuery( this ).removeClass('slide-out-close').addClass('slide-out-open');
        return false;
    }
});

现在我想在左侧弹出菜单中添加相同的按钮。 我为菜单添加了相同的php,html没问题,但是当我点击第一个按钮并改变它的类时,我的新按钮没有改变类。

所以jquery只能在它找到的第一个类上运行一次。如何更改它以更改这两个类?

由于

2 个答案:

答案 0 :(得分:2)

jQuery("#slide-out-open")这会绑定到id html属性,根据规范,您只能将一个元素绑定到特定的ID。

我建议将其更改为可以多次选择的类。

注意:不推荐使用.click,并且仅在加载js时绑定到页面上存在的元素。

我建议使用.on( 'click', function() {})这将允许动态绑定,并且是当前支持的方法。

答案 1 :(得分:0)

你究竟是什么意思并不是很清楚。但首先,两个按钮不应具有相同的ID,因为ID应该是特定的标识符。也许这就是问题所在。 (应该是一个评论,但我不能评论..)