jQuery - data()=='something'总是返回false

时间:2013-05-11 00:39:36

标签: jquery

我正在尝试根据data属性的值运行一个函数。 但是当我运行它时它总是返回false

alert(jQuery(this).data('loaded') == 'no');

但我的数据属性设置为no,当我提醒

alert(jQuery(this).data('loaded'));

返回正确的数据属性值。

更新

HTML

<a class="btn" href="#" data-loaded="no"></a>

所有代码

jQuery('a').click(function(e) {
    e.preventDefault();

    if (jQuery(this).data('loaded') == 'no'){
        ajax();
        jQuery(this).attr('data-loaded', 'yes');    
    }
});

1 个答案:

答案 0 :(得分:0)

实际上你正试图在onclick事件上做,但你的锚没有任何东西。所以改变你的标记并尝试

<a class="btn" href="#" data-loaded="no">Click Here</a>
当然,你可以通过边框或填充等一些样式来实现这一点。所有你都可以点击你的锚点。

a
{
    padding:15px;
    border:1px solid #CCC;
}

JS Fiddle Example