2016-05-13 11 views
0

私は少し恥ずかしいですが、このコードが期待どおりに動作しない理由を理解できません。論理演算子 - 予期しない終了結果

デバッガとコンソールログを見ると、長さは1で、innerText = 'レコードが見つかりません'と表示されます。私はif文が実行されることを期待していましたが、代わりにelse文が実行されました。確かに、私はinnerTextとtr.lengthを記録し、結果は 'No record found'です。それぞれ1である。私はここにいないのですか?

var tr = $('.users').find('tr'); 
if (tr.length === 1 && ((tr[0].innerText === 'No record found.') 
    || (tr[0].innerText === 'No matching records found') 
    || (tr[0].innerText === ''))) { 
//console.log('no record found is displayed.'); 
    $('.customTableInfo').addClass('DisplayNone').removeClass('Display');      
    $('.customEntries').addClass('DisplayNone').removeClass('Display');     
    $('.itemPerPageLabel').addClass('DisplayNone').removeClass('Display');    
    $('.customPaging').addClass('DisplayNone').removeClass('Display'); 
} else { 
    console.log(tr[0].innerText); 
    $('.customTableInfo').addClass('Display').removeClass('DisplayNone');      
    $('.customEntries').addClass('Display').removeClass('DisplayNone');      
    $('.itemPerPageLabel').addClass('Display').removeClass('DisplayNone');     
    $('.customPaging').addClass('Display').removeClass('DisplayNone'); 
} 
+1

使用しないでください ' .innerText'。それは標準ではなく、FireFoxには存在しません。正しいプロパティは '.textContent'です。 – Barmar

+1

jQueryを使っているので、 'tr.text()'を使うのはなぜですか? – Barmar

+0

@Barmar代わりに.innerTextをtr.text()に変更しました。先端に感謝します。 –

答えて

3

は、多分あなたは空白

if (tr.length === 1 && ((tr[0].innerText.trim() === 'No record found.') 
    || (tr[0].innerText.trim() === 'No matching records found') 
    || (tr[0].innerText.trim() === ''))) { 

を避けるためにtrim();を使用する必要があると、このコードのため

$('.customTableInfo').addClass('DisplayNone').removeClass('Display');      
    $('.customEntries').addClass('DisplayNone').removeClass('Display');     
    $('.itemPerPageLabel').addClass('DisplayNone').removeClass('Display');    
    $('.customPaging').addClass('DisplayNone').removeClass('Display'); 

は、あなたがそれを簡素化することができ

$('.customTableInfo ,.customEntries , .itemPerPageLabel ,.customPaging').addClass('DisplayNone').removeClass('Display'); 
+1

ありがとうございます。トリムを追加することは魅力的に機能しました。 –

+1

@JeanBそれは助けてうれしい..非常に幸運:) –