Javascript 逻辑和/或运算符-意外的最终结果
我有点尴尬,但我不明白为什么这段代码的行为不符合预期 查看调试器和控制台日志,长度为1,innerText='No record found'。我希望执行if语句,但执行else语句。当然,我记录了innerText和tr.length,结果分别是'No record found'和1。我在这里没有得到什么Javascript 逻辑和/或运算符-意外的最终结果,javascript,jquery,Javascript,Jquery,我有点尴尬,但我不明白为什么这段代码的行为不符合预期 查看调试器和控制台日志,长度为1,innerText='No record found'。我希望执行if语句,但执行else语句。当然,我记录了innerText和tr.length,结果分别是'No record found'和1。我在这里没有得到什么 var tr = $('.users').find('tr'); if (tr.length === 1 && ((tr[0].innerText === 'No recor
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');
也许你需要使用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');
不要使用.innerText
。它不是标准的,在FireFox中也不存在。正确的属性是.textContent
。既然您使用的是jQuery,为什么不直接使用tr.text()
?@Barmar我将.innerText改为tr.text()。谢谢你的提示。不要使用.innerText
。它不是标准的,在FireFox中也不存在。正确的属性是.textContent
。既然您使用的是jQuery,为什么不直接使用tr.text()
?@Barmar我将.innerText改为tr.text()。谢谢你的提示。@JeanB很高兴这有帮助。。祝你好运:)@JeanB很高兴这有帮助。。祝你好运:)