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