私は少し恥ずかしいですが、このコードが期待どおりに動作しない理由を理解できません。論理演算子 - 予期しない終了結果
デバッガとコンソールログを見ると、長さは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');
}
使用しないでください ' .innerText'。それは標準ではなく、FireFoxには存在しません。正しいプロパティは '.textContent'です。 – Barmar
jQueryを使っているので、 'tr.text()'を使うのはなぜですか? – Barmar
@Barmar代わりに.innerTextをtr.text()に変更しました。先端に感謝します。 –