Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/468.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery if else语句和数据()_Javascript_Jquery_If Statement - Fatal编程技术网

Javascript jQuery if else语句和数据()

Javascript jQuery if else语句和数据(),javascript,jquery,if-statement,Javascript,Jquery,If Statement,我已经为此挣扎了将近5个小时,终于找到了线索 以下是我在网站上使用的代码: jQuery(document).ready(function(){ jQuery(".thumbnail").bind("click",function(){ var elem = jQuery(this); if((elem).data('test')) { alert('data is test'); elem.data('test',

我已经为此挣扎了将近5个小时,终于找到了线索

以下是我在网站上使用的代码:

jQuery(document).ready(function(){
    jQuery(".thumbnail").bind("click",function(){
    var elem = jQuery(this);
        if((elem).data('test')) {
            alert('data is test');
            elem.data('test',false);
        }
        else {
            alert('data is not test');
            elem.data('test',true);
        }
    });
});
这是jfiddle

当您单击“缩略图”时,它应该触发一个警报(“数据是测试”或“数据不是测试”)

当我在我的WordPress页面(localhost)上尝试相同的代码时,它会一个接一个地显示两个警报——“数据未设置”和“数据已设置”——是什么导致了这种奇怪的行为


不幸的是,我无法提供来源。我希望这是常见的,也许一些jQuery向导会知道答案?不知何故…?

我不认为这是jQuery的错误,而是以下错误之一:

  • WordPress模板最终会导致代码被包含两次。要对此进行调试,请在调用.bind()之前放置一个警报,并验证您只看到一次
  • 由于某种原因,在WordPress版本中,实际上有两个重叠的“.thumboil”类对象,“click”会触发这两个对象。如果您在JSFIDLE上用EXTRACT包装一个缩略图,您将看到这是如何发生的。要对此进行调试,请放入一个警报框,该框显示调用该方法的对象,并验证其中没有两个单独的对象

我在小提琴上很好用。脚本可以包含两次吗?该脚本没有包含两次,但5小时后,我匆忙提出了这个问题,因为几分钟前,我才意识到它在外部文件中很好用。我仍然不知道出了什么问题,但也许这是一个提示?它可能在页面和外部文件中。外部文件可能包括两次: