逻辑和/或运算符-意外的最终结果

Logical And/Or Operator - Unexpected end Result

本文关键字:结果 意外 运算符 逻辑和      更新时间:2023-09-26

我有点尴尬,但我不明白为什么这段代码没有按预期运行。

查看调试器和控制台日志,长度为1,innerText="未找到记录"我本来希望执行if语句,但却执行了else语句。可以肯定的是,我记录了innerText和tr.length,结果是"找不到记录"和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');
}

也许您需要使用trim();来避免空白

if (tr.length === 1 && ((tr[0].innerText.trim() === 'No record found.') 
   || (tr[0].innerText.trim() === 'No matching records found') 
   || (tr[0].innerText.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');