(基本)寻找验证setText()函数的Javascript代码

时间:2017-09-26 10:08:33

标签: javascript string html5

我正在从书中学习JavaScript基础知识。任何人都可以帮助我,我真的很困惑我应该使用什么代码,以便setText()函数验证目标HTML ID是否存在。我知道它会变得非常简单,但我对此不熟悉。这是我的JS代码:

function setText(elementId, message) {
'use strict';

if ( (typeof elementId == 'string')
&& (typeof message == 'string')||(typeof message == 'number')
&& (typeof elementId !== '')
&& (typeof message !== '') ) {

    var output = document.getElementById(elementId);


    if (output.textContent !== undefined) {
        output.textContent = message;
    } else {
        output.innerText = message;
    }

} 
} 


function init() {
'use strict';
var today = new Date();
var message = 'Right now it is ' + today.toLocaleDateString();
message += ' at ' + today.getHours() + ':' + today.getMinutes();


setText('output', message);

} 
window.onload = init;

由于

1 个答案:

答案 0 :(得分:0)

  

...以便setText()函数验证目标HTML id是否存在......

如果没有,您将从null收到getElementById。所以你可以在if中使用它(因为null是“falsy”*),请参阅***行:

var output = document.getElementById(elementId);

if (output) {                                   // ***
    if (output.textContent !== undefined) {
        output.textContent = message;
    } else {
        output.innerText = message;
    }
}

*“falsy”:“falsy”值是在条件中使用时强制为false的值。 “truthy”值是强制true的值。虚假值为nullundefined0""NaN,当然还有false;所有其他值(包括所有非null对象引用)都是真实的。