替换类的Jquery事件
我正在尝试使用jQuery创建一个隐藏/显示按钮。 单击.cminus时,需要隐藏.arrowwrap和.commentbody并用cplus替换它自己的类。 然后如果点击.cplus则需要相反。
问题1:在.cminus替换为.cplus之后的示例中,.cplus在单击时不会触发click事件。
(编辑问题2转移到单独的票证)问题2:我没有达到.commentbody隐藏/显示它的权利
HTML:
Title Body
Jquery代码:
$('.cminus').click(function(e) { $(this).next('.arrowwrap').hide(); $(this).parent().next('.commentholder .commentbody').hide(); $(this).removeClass('cminus'); $(this).addClass('cplus'); }) $('.cplus').click(function(e) { alert("clicked cplus"); $(this).next('.arrowwrap').show(); $(this).addClass('cminus'); $(this).removeClass('cplus'); })
使用.toggleClass('cminus');
然后有一个事件处理程序或在父元素上使用.on / .live以允许委派事件。
至于
$(this).parent().next('.commentholder .commentbody').hide();
我认为.commentholder是多余的,因为你在下一步指定了下一个兄弟。