jQuery .closest在一页上有效,但在另一页上无效

问题描述

|| http://www.gamingunion.net/ http://www.gamingunion.net/forums/ 当您单击游戏背景时,它将打开一个Amazon.com链接。由于论坛上的某些原因,它失败了,并给出错误$(event.target).closest不是一个函数。 http://www.bungieunion.com/gamingunion/js/forum.js 第二个功能是有问题的。 jQuery版本在两个页面上都是相同的,因此我无法弄清楚可能是什么问题。     

解决方法

看起来目标是HTML DOM对象,而不是jquery对象。我会测试一下是否event.target是jQuery的实例,如下所示:
var target = (event.target instanceof jQuery) ? event.target : jQuery(event.target);
这将确保在调用.closest()之前,目标对象是jQuery对象。 编辑:在使用noConflict的情况下将$更改为jQuery 编辑#2:我将整个第二种方法更改为:
var _body = jQuery(\"body\");

_body.click(function() {
    // affilate takeover functions
    if( _body.attr(\'id\').length 
        && _body.closest(\'header\').length == 0 
        && _body.closest(\'#wrapper > nav\').length == 0 
        && _body.closest(\'#leaderboard > div\').length == 0 
        && _body.closest(\'#wrapper2\').length == 0 
        && _body.closest(\'body > footer\').length == 0 
        && _body.attr(\'name\') != \'userfile\' 
        && _body.closest(\'.ui-datepicker-calendar\').length == 0 
        && _body.closest(\'.ui-datepicker-prev\').length == 0 
        && _body.closest(\'.ui-datepicker-next\').length == 0 
        && _body.closest(\'.editor_control_bar\').length == 0 
        && _body.closest(\'.ui-autocomplete\').length == 0 
        && _body.closest(\'#fancybox-overlay\').length == 0 
        && _body.closest(\'#fancybox-wrap\').length == 0 
        && _body.attr(\'href\') != \'#shoutbox\' 
        && !_body.hasClass(\'ui-button-text\') 
        && _body.closest(\'.ui-dialog\').length == 0) {
        // variables
        var affiliate_url = jQuery(\"input[name=affiliate_url]\").val();

        window.open(affiliate_url);
    }
});
    ,我认为在加载脚本并调用,2ѭ之后,亚马逊联盟脚本正在加载jQuery 1.2.6版。如果在IE9的监视面板中查看
$
jQuery
,您会发现它们并不相同。加载的脚本是
http://z-ecx.images-amazon.com/images/G/01/browser-scripts/us-site-wide-1.2.6/site-wide-10148190434.js._V178546632_.js
这是jQuery的1.2.6版本。请注意,版本1.3中引入了“ 6”     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...