首页 > 解决方案 > 在jQuery each()中用空字符串替换NULL?

问题描述

下面的参数打架是 Ajax 调用的结果。一些数据具有NULL价值。用空字符串替换这些值的简单方法是什么?

    function createFightsTable(fights) {

        $.each(fights, function() {

            $("#professional_fights_table tbody").append("<tr><td class='text-center'>" + this.result  + "</td><td>" + this.record  + "</td><td>" + this.opponent  + "</td><td>" + this.method  + "</td><td>" + this.date  + "</td><td class='text-center'>" + this.round  + "</td><td>" + this.time  + "</td></tr>"); 
        });
    }

标签: jqueryreplacenull

解决方案


这取决于它是"NULL"(字符串,可能来自NULL转换为字符串的数据库结果集)还是null(JavaScript 中的实际null值)。

如果是"NULL",您可能需要一个实用函数:

function blankForNull(s) {
    return s.toUpperCase() === "NULL" ? "" : s;
}

然后:

$("#professional_fights_table tbody").append("<tr><td class='text-center'>" + blankForNull(this.result)  + // ...

如果是null,您可以使用功能强大的||运算符或更新的(ES2020)“空合并”运算符??

$("#professional_fights_table tbody").append("<tr><td class='text-center'>" + (this.result || "")  + // ...

或者

$("#professional_fights_table tbody").append("<tr><td class='text-center'>" + (this.result ?? "")  + // ...

(您确实需要()在该连接表达式中使用它。)


推荐阅读