0 && hasWhiteSpace(lblValue) >"> 0 && hasWhiteSpace(lblValue) >"> 0 && hasWhiteSpace(lblValue) >" />

論理と演算子がjavascriptで正しく動作しない

i am checking certain condition in documnet.ready and && operator is not working code snippet lblvalue is empty.

$(function() {
 var lblValue = $("#lblRadioText").text();
    if (lblValue.length > 0 && hasWhiteSpace(lblValue) > 0) {
        $("#rdExportLastTime").css('display', 'inline');
    }
});

function hasWhiteSpace(text) {
    return text.indexOf(' ') >= 0;
}

何が間違っているか教えてください。

0
((lblValue.length> 0)&&(hasWhiteSpace(lblValue)> 0)){}を試して、両方のステートメントが独自のかっこで囲まれるようにしてください。
追加された 著者 martincarlin87,
これを試してみてください... if(lblValue.length> 0 &&(hasWhiteSpace(lblValue)> 0)){
追加された 著者 balaphp,

3 答え

You're returning a boolean value out of hasWhiteSpace(), so you should skip the > 0 in your conditional.

3
追加された

ブール値が0より大きいかどうかを確認しようとしています。

You don't need the 2nd > 0:

if (lblValue.length > 0 && hasWhiteSpace(lblValue)) {
    $("#rdExportLastTime").css('display', 'inline');
}

実際には、それは操作に何の違いもありませんが、それはまだ必要ではありません。

The code seems to work fine to me (slightly adapted for testing): http://jsfiddle.net/infernalbadger/ZGAj5/1/

3
追加された

Are you sure that it is operator && that fails?

コードを次のように書き直すとどうなりますか?

var lblNotZero = lblValue.length > 0;
var hasWhiteSpace = hasWhiteSpace(lblValue) > 0;
if(lblNotZero && hasWhiteSpace)
{
  $("#rdExportLastTime").css('display', 'inline');
}

lblNotZero hasWhiteSpace の値をチェックするためにブレークポイントを設定します(または alert を使用して出力します)。

Whenever you suspect language fundamentels such as && not working correctly, rethink. Those are extremely well tested.

0
追加された
JavaScript - 日本のコミュニティ
JavaScript - 日本のコミュニティ
2 参加者の

日本人コミュニティのjavascript