jquery if statement and hasClass?


jquery if statement and hasClass?

我使用wordpress和一个名为高级ajax页面加载器的插件。http://wordpress.org/extend/plugins/advanced-ajax-page-loader/

我对php, javascript和jquery有点熟悉,但无论如何都不是专家。我有以下代码块,排除某些页面从ajax加载,它的工作很好。

jQuery(scope + "a").click(function(event){
    //if its not an admin url, or doesnt contain #
    if (  this.href.indexOf(AAPLhome) >= 0 && this.href.indexOf('/wp-') < 0 && this.href.indexOf('#') < 0 && this.href.indexOf('/search') < 0 && this.href.indexOf('/2013') < 0 && this.href.indexOf('/2012') < 0 && this.href.indexOf('/2011') < 0 && this.href.indexOf('/feed') < 0 && this.href.indexOf('/portfolio') < 0 && this.href.indexOf('/store') < 0 ){
        // stop default behaviour
        event.preventDefault();
});

正如你所看到的,我在他们的url中排除了某些字符串的页面。

然而,我需要目标主页链接,并通过插入主页url这种方式,所有的页面都包含主页url,所以他们都被排除在外。我希望能够在这段代码中插入一个hasClass语句,这样我就可以排除一个具有'homelink'类的链接。

下面给了我一个这样的错误。hasClass不是函数

this.hasClass('homelink')

所以我一定是做错了什么,但如果我知道是什么,我就完蛋了。

我试着看了这些链接,但没有得到太多。

Jquery hasClass + If语句

jQuery - hasClass在if语句中不能正常运行

http://api.jquery.com/hasClass/

您需要将this包裹在$()

$(this).hasClass('homelink');

this在这种情况下是一个DOMElement和dom元素没有hasClass方法。通过将this传递给$(),它成为一个具有hasClass方法的jQuery对象。

另一个:not()选择器的方法:

jQuery(scope + "a:not(.homelink)").click(function(event){