jQuery-data()==';某物';总是返回false
我试图根据数据属性的值运行一个函数。 但当我运行此命令时,它总是返回jQuery-data()==';某物';总是返回false,jquery,Jquery,我试图根据数据属性的值运行一个函数。 但当我运行此命令时,它总是返回false: alert(jQuery(this).data('loaded') == 'no'); 但我的数据属性设置为“否”,当我发出警报时 alert(jQuery(this).data('loaded')); 它返回正确的数据属性值 更新 jQuery('a').click(function(e) { e.preventDefault(); if (jQuery(this).data('loaded
false
:
alert(jQuery(this).data('loaded') == 'no');
但我的数据属性设置为“否”,当我发出警报时
alert(jQuery(this).data('loaded'));
它返回正确的数据属性值
更新
jQuery('a').click(function(e) {
e.preventDefault();
if (jQuery(this).data('loaded') == 'no'){
ajax();
jQuery(this).attr('data-loaded', 'yes');
}
});
HTML
事实上,你正试图在点击事件中做到这一点,但你的主播却什么都没有。因此,请更改标记并尝试
<a class="btn" href="#" data-loaded="no">Click Here</a>
您的HTML(或设置属性的相关代码)是什么样子的?
$('').data('loaded')=='no'
为我返回true
。在您的上下文中,这是什么?似乎表明这很好…你的代码在我看来很好。问题出在别处。在ajax
调用完成时设置属性。在这里,您可以在调用ajax()后立即设置它代码>但是ajax
将在晚些时候完成。它可能有边框和填充,这使得它可以在没有文本的情况下单击。@Blender是的,您正在编写,也可以通过它来实现。在这里我只是告诉他原因,让他知道使用点击事件。谢谢你的回答,答案与我无关,但会帮助未来的用户。我在给+1@user1983017请让我知道,为什么它对你没有用处?你还想要什么?
<a class="btn" href="#" data-loaded="no">Click Here</a>
a
{
padding:15px;
border:1px solid #CCC;
}