我不想让其他部分在第三运算符中


function clear_error(id){
(document.getElementById(id) != undefined) ? (document.getElementById(id).innerHTML = "") : console.log('span is not created yet');
}

我必须检查span元素是否已经为我的错误创建/定义,如果它被创建,则删除新错误的内部文本,如果没有,则不做任何事情,因为我已经在指定的类中创建了它的错误函数。

三元制在这里不是最好的工具。条件运算符(? :)通常用于评估一个条件并根据该条件是真还是假获得一个新值。你可以让&&短路:

function clear_error(id) {
const elem = document.getElementById(id); // store the element to avoid re-querying the DOM
elem && elem.innerHTML = "";
}

但是对我来说读起来不是很好,所以在我看来一个标准的if语句会更好:

function clear_error(id){
const elem = document.getElementById(id); // store the element to avoid re-querying the DOM
if(elem) {
elem.innerHTML = "";
}
}

就用null:

(document.getElementById('jj') != undefined) ? (document.getElementById(id).innerHTML = "") : null

相关内容

最新更新