我有点尴尬,但我不明白为什么这段代码没有按预期运行。
查看调试器和控制台日志,长度为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');
}
答案 0 :(得分:3)
也许您需要使用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');