0

データセット属性によって指定されたデータを確認する必要があります。データセットが空である可能性があります。その場合は、ifステートメントでスキップする必要がありますが、空のデータセットはまだtrueです。試しました... null、未定義そして、彼らは機能しません。

したがって、値が存在しない場合はfalseになります。

// false
<div data-value=""></div>

if($('div').data('value') !== ""){
   alert('hello ...world?')
}

//true
<div data-value="  "></div>

if($('div').data('value') !== ""){
   alert('hello ...world?')
}
4

3 に答える 3

2

もちろん、''javascriptではfalse(空の文字列)と評価されます。ただし' '、は値であり、空白です。

最初に文字列をトリミングしてみてください。

// false
<div data-value="  "></div>

if($('div').data('value').trim() !== ""){
   alert('hello ...world?')
}
于 2013-03-10T22:21:31.317 に答える
0

トリミングしてから、真実性を確認してみてください

$('div').each(function () {
    var data = $.trim($(this).data('value'));
    if (data) {
        alert('hello ...world?');
    }
});

http://jsfiddle.net/ethagnawl/qJXHr/2/

于 2013-03-10T22:22:15.637 に答える
0

必要なものを正確にテストする必要があります。文字列が空白以外のもので構成されているかどうかをテストする場合は、次のことを考慮してください。

if (/\S/.test($('div').data('value'))) {
  // value contains something other than white space
}
于 2013-03-10T22:42:21.327 に答える