Javascript jQuery if else语句和数据()
我已经为此挣扎了将近5个小时,终于找到了线索 以下是我在网站上使用的代码: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',
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包装一个缩略图,您将看到这是如何发生的。要对此进行调试,请放入一个警报框,该框显示调用该方法的对象,并验证其中没有两个单独的对象