JQuery ярлыки / техника для переключения классов - PullRequest
5 голосов
/ 23 октября 2010

В jQuery есть другой способ написать это?

Версия 1

     $("#date_filter-enable").click(function() {

        $("#search_dates").removeClass("hidden");
     });

     $("#date_filter-disable").click(function() {

        $("#search_dates").addClass("hidden");
     });

Версия 2

     $("input[id^=date_filter-]").click(function(e) {

        var clicked = $(e.target);
        var id = clicked.attr("id").split("-");
        var action = id[1];

        if(action == "enable")  
         $("#search_dates").removeClass("hidden");
        else
         $("#search_dates").addClass("hidden");
     });

Я привык к такому кодированию ... но я хочу знать, есть ли эффективный, читабельный, классный способ написания этого ... как переключение, создание цепочек ... лучшие практики, которых я не знаю ^ ^

Я ценю, что вы поделились этим! ^^

Ответы [ 2 ]

4 голосов
/ 23 октября 2010

Вы должны использовать метод toggleClass.

$("input[id^=date_filter-]").click(function(e) {
     $("#search_dates").toggleClass("hidden");
 });
0 голосов
/ 23 октября 2010
$("input[id^=date_filter-]").click(function(e) {
        if($(this).attr("id").split("-")[1] == "enable")  
         $("#search_dates").removeClass("hidden");
        else
         $("#search_dates").addClass("hidden");
     });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...