0

我正在使用 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,因此它们都被排除在外。我希望能够在这段代码中插入一个 hasClass 语句,这样我就可以排除一个具有“homelink”类的链接。

以下给了我 this.hasClass is not a function 的错误。

this.hasClass('homelink')

所以我一定是做错了什么,但如果我知道是什么,我真该​​死。

我试过查看这些链接,但没有从中得到太多。

Jquery hasClass + If 语句

jQuery — if 语句中的 hasClass 不能正常播放

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

4

2 回答 2

5

你需要this包裹$()

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

this在这种情况下是 DOMElement 并且 dom 元素没有hasClass方法。通过传递this$(),它变成了一个具有该hasClass方法的 jQuery 对象。

于 2013-01-15T21:55:51.283 回答
0

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

jQuery(scope + "a:not(.homelink)").click(function(event){
于 2013-07-12T20:25:50.710 回答