1

私はif文に頭を包み込もうとしています。私はこれが初めてです。

html5 データ属性からデータ (テキスト) を取得する非常に単純なスクリプトがあります。

var $datatext = $(this).data('explain');

ここで、html5 属性 data-explain が欠落しているか空の場合に if ステートメントが必要です。

var $success = if ($datatext < 0) {
    // show some other text, maybe? =
    $(this).text('Fail');
} else {
    // show original, maybe? =
    $(this).text($datatext);
}

繰り返しますが、頭を抱え込むのに苦労しました。ああ、これらのif。

4

3 に答える 3

0

このようにできます。

ライブデモ

$('.someclass').each(function() {    

    if(typeof this.attributes['data-explain']  != 'undefined')
    {
        alert(this.id + ": explain exists");
        explain = $.trim(this.getAttribute('data-explain'))
        if(explain.length > 0)
            alert(explain);
        else
            alert("no value for explain");
    }
    else
        alert(this.id + ": explain does not exists");
});​
于 2012-12-06T11:39:36.537 に答える
0

$datatextこのようにコードを書き直して、データではなく長さを確認してください

if ($datatext.length > 0) {
    // show original, maybe? =
    $(this).text($datatext);

} else {
    // show some other text, maybe? =
    $(this).text('Fail');
}
于 2012-12-06T11:41:32.403 に答える
0

それはうまくいくはずです:

if (typeof $datatext !== 'undefined' && $datatext.length > 0) {
     $(this).text($datatext);
} else {
     $(this).text('Fail');
}
于 2012-12-06T11:42:07.503 に答える