Javascript jquery";hasClass();不工作?

Javascript jquery";hasClass();不工作?,javascript,jquery,Javascript,Jquery,如果另一个div有类,我需要隐藏一个div 我创建了一个非常基本的示例 我需要底部的div来隐藏“click”这个词。。好。。点击。它在中间的div中添加了一个类,但它似乎不想工作 注意:结构需要如下所示。如果单击了“单击”,则修改中间div(添加类?),并基于中间div操作底部div。使用此设置-我不能只执行“如果单击,则滑动()底部div” 此外,一旦单击“确定”或“取消”,它将恢复,因为中间的div将不再具有该类。如果这是我可以在这里使用的方法,哈哈。将类附加到DOM元素后,这应该可以正确

如果另一个div有类,我需要隐藏一个div

我创建了一个非常基本的示例

我需要底部的div来隐藏“click”这个词。。好。。点击。它在中间的div中添加了一个类,但它似乎不想工作

注意:结构需要如下所示。如果单击了“单击”,则修改中间div(添加类?),并基于中间div操作底部div。使用此设置-我不能只执行“如果单击,则滑动()底部div”


此外,一旦单击“确定”或“取消”,它将恢复,因为中间的div将不再具有该类。如果这是我可以在这里使用的方法,哈哈。

将类附加到DOM元素后,这应该可以正确地隐藏元素

$('.element').click(function()
{
    $('.thisElement').addClass('hidepub');
    if($('.thisElement').hasClass('hidepub')) {
         $('.thisElement').hide();
    }
});

当脚本加载时,只调用一次。您需要确保它在
处理程序中被调用。单击(…)
处理程序

if($('#timestampdiv').hasClass('hidepub')) {
    $('#major-publishing-actions').slideUp('slow');
}

如果语句在任何函数之外,那么在加载脚本后没有理由调用它


,我想这就是您想要的。

您可以将它们组合到一个函数中,并且您希望该检查位于单击函数中

您可以通过使用和传递条件来减少addclass removeclass

$('a.edit-timestamp,a.save-timestamp,a.cancel-timestamp').click(function() {
    var $tsdiv = $("#timestampdiv");
    // add class showpub if edit is clicked
    $tsdiv.toggleClass('showpub',$(this).hasClass('edit-timestamp'));
    // add class hidepub only if it wasn't edit that was clicked
    $tsdiv.toggleClass('hidepub',!$(this).hasClass('edit-timestamp'));  

    // then do your toggle                            
    if ($tsdiv.hasClass('hidepub')) {
        $('#major-publishing-actions').slideUp('slow');
    }else{
        $('#major-publishing-actions').slideDown('slow');
    }
});


您可以通过交换传递到toggleClass()方法的逻辑来反转它

,正如其他人所提到的,如果所有单击事件处理程序上都有
,则不需要调用
。创建一个自定义函数,其中包含
if
语句,并在所有单击处理程序上调用它


在旁注上勾选此项,另一个检查是否有类的变体是:

if ( $('body.className').length ) {

不过我还是建议你去上课。有时候很高兴看到变化。

您应该意识到,在您的示例中,hasclass只被调用一次。它不是一个事件,它不会在元素具有该类时触发。hasClass是一个用于在事件期间检查特定元素是否具有特定classI的函数。我刚刚输入了这个,但你打败了我。因为您的所有事件都链接到锚定标记,所以您可以将此if语句放入类似以下事件的事件中:
$(“a”).on(“click”,function(){if($(“#timestampdiv”).hasClass(“hidepub”){$(“#主要发布操作”).slideUp(“slow”)}
太好了!谢谢!@所有编写的人-谢谢!所以我需要将用法放在函数本身中-明白了,谢谢:)我想你的意思是在body和.classname之间添加一个空格。我正在检查body元素是否有类