2015-05-22 2 views
-1

Я пытаюсь сделать событие щелчка, которое скрывает элемент, который щелкнут, если он имеет определенный класс, но то, что я пробовал, не работает.JQuery при щелчке любого элемента с классом

$(document).ready(function(){ 
    $('.alert').on('click', function(){ 
     $(this).slideUp(150); 
    }); 
}); 

Может ли кто-нибудь мне помочь?

+1

Вы хотите, чтобы все элементы с классом .alert были скрыты? Или почему это не работает точно? – AmmarCSE

+0

$ (this) .hide(); – t3dodson

+1

Возможно, вам нужно будет увидеть свой HTML, чтобы понять это. – michaelpri

ответ

2

Обычно это должно скрыть текущий элемент щелкнул:

$(document).ready(function(){ 
    $('.alert').on('click', function(){ 
     $(this).hide(); 
    }); 
}); 

Если вы хотите, чтобы скрыть все элементы с классом:

$(document).ready(function(){ 
    $('.alert').on('click', function(){ 
     $('.alert').hide(); 
    }); 
}); 
+0

обновил вопрос – gespinha

+1

'slideUp' должен отлично работать (на самом деле, когда я тестирую его локально). – talemyn

+0

Nevermind, я обнаружил, что это связано с другой вещью, извините:/ – gespinha

-1

... которая скрывает элемент, который щелкнул если у него есть определенный класс ...

$(document).ready(function(){ 
    $('.alert').on('click', function(){ 
     if($(this).hasClass('certain-class'){ 
      $(this).hide(); 
     } 
    }); 
}); 

Обратите внимание, что вам нужно только передать имя класса без .

+0

Это также избыточно. – t3dodson

+0

@TommyDDD, как это избыточно? – AmmarCSE

+0

nvm вы изменили его с $ ('. Alert'). Hide(); => $ (this) .hide(); Я предполагаю, что .alert - это «определенный класс», который он ищет. Это, похоже, не отвечает на то, о чем он просит. – t3dodson

0

в Существует В hide() метод JQuery

$(document).ready(function(){ 
    $('.alert').on('click', function(){ 
     $(".yourclass").hide(); 
    }); 
}); 

или что-то вроде этого .. также взглянуть на: http://www.w3schools.com/jquery/jquery_hide_show.asp

Update:

<html> 
    <head> 
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script> 
    <script> 
    $(document).ready(function(){ 
     $("#element").click(function(){ 
      if($(this).hasClass("hide")){ 
       $(this).slideUp(200); 
      } 
     }); 
    }); 
    </script> 
    </head> 
    <body> 

    <button id="element" class="hide">Element 1</button> 

    <button id="element" class="show">Element 2</button>  

    </body> 
</html> 

http://codepen.io/woidfeeee/pen/vOXQRL?editors=100

+0

извините Винс был быстрее ..;) – Woidfeeee

+1

'slideUp' - это просто анимированная версия' hide' , , , здесь не должно быть необходимости изменять этот выбор функции. – talemyn

Смежные вопросы