某些类的jQuery检查不起作用

时间:2011-05-24 19:20:48

标签: jquery

对于我的菜单,我想检查点击的元素是否具有某个类名。如果有,则应遵循特定的操作,否则不遵循。因此,我有以下方法,没有工作..

$(function(){
    $("a").click(function(event){
        if(this.hasClass("noLink")){
            event.preventDefault();
            alert("no link here");
        }
    });
});
..
<a href="page.html" title="Title" class="topNav noLink" id="site">Link</a>

上面的代码不起作用,它将转到page.html,我没有得到警报。我在这做错了什么?

我也试过了if(this.hasClass("noLink") == 'true'){但是这个伎俩都没有。

感谢任何帮助!

2 个答案:

答案 0 :(得分:9)

试试这个:

$(function(){
    $("a").click(function(event){
        if($(this).hasClass("noLink")){ //`this` plain  is a DOM element
            event.preventDefault();
            alert("no link here");
        }
    });
});

答案 1 :(得分:1)

试试这个:

$(function(){
    $("a").click(function(event){
        if($(this).hasClass("noLink")){
            event.preventDefault();
            alert("no link here");
        }
    });
});
..
<a href="page.html" title="Title" class="topNav noLink" id="site">Link</a>

您需要使用$(this)代替this