0

再会。

我在 jQuery 中使用以下点击功能

 $(function () {

            $("#areas ul a").click(function (event) {
                event.preventDefault();
                $("#areas ul li a").removeClass('activeAreas');
                $(this).addClass('activeAreas');
                $(".hidden").hide(200);
                $($(this).attr("href")).show(500)

            });

        });

我想做的是在那个循环中,检查特定元素是否处于活动状态,然后对其采取行动:

例如。

 $("#areas ul a").click(function (event) {
                event.preventDefault();
                $("#areas ul li a").removeClass('activeAreas');
                $(this).addClass('activeAreas');
                $(".hidden").hide(200);
                $($(this).attr("href")).show(500)

                //I'm adding this... but it is not working

                if($(this).attr(href) = 'pretoriaDetail'){
                  alert('it works');
                }

            });

我如何让 if 语句起作用......?

谢谢

4

3 回答 3

2

如果您想检查是否class应用于 DOM,那么.hasClass将有所帮助。

官方文档http ://api.jquery.com/hasClass/

还有一件事是您的代码中有错误。

if($(this).attr(href) = 'pretoriaDetail'){
          alert('it works');
}

一定是

if($(this).attr("href") == 'pretoriaDetail'){
          alert('it works');
}

因为在比较它和 href 必须用引号括起来=的同时为其赋值。==

于 2013-02-26T07:57:51.927 回答
1
 $(function () {
        $("#areas ul a").click(function (event) {
            event.preventDefault();
            if(!$(this).hasClass('activeAreas')){
                $("#areas ul li a").removeClass('activeAreas');
                $(this).addClass('activeAreas');
                $(".hidden").hide(200);
                $($(this).attr("href")).show(500);
            }
        });

    });
于 2013-02-26T08:46:36.330 回答
0

我认为你应该试试这个:

var ID = $(this).attr("href");

$('#'+ID).show(500);

Declare a variable and use it as an id.

那么这应该是这样的:

      $(function () {
        $("#areas ul a").click(function (event) {
            var ID = $(this).attr("href");
            event.preventDefault();
            $("#areas ul li a").removeClass('activeAreas');
            $(this).addClass('activeAreas');
            $(".hidden").hide(200);
            $('#'+ID).show(500); // or this way $('[id="'+ID+'"]').show(500);
        });
     });
于 2013-02-26T08:08:49.593 回答