0

data 属性の値に応じて関数を実行しようとしています。しかし、これfalseを実行すると常に返されます:

alert(jQuery(this).data('loaded') == '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');    
    }
});
4

1 に答える 1

0

実際には onclick イベントを実行しようとしていますが、アンカーには何もありません。マークアップを変更して試してください

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

もちろん、ボーダーやパディングなどのスタイリングでこれを実現できます。アンカーをクリックできるようにするだけです。

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

JS フィドルの例

于 2013-05-11T00:49:03.267 に答える