getElementById
returns null
if there is no match in the document. (Which then leads to exactly your error message).
This means that either you have a typo in your selector or the html or the js gets executed before your element is included into the dom.
Also, getElementById
returns a single element and not an array (Node List
to be precise), so the correct call would be:
document.getElementById('td1').style.color = 'blue';
Third problem:
setInterval(test(),1000);
// /\
// this will immeditately execute the function and
// hands over the *return value* to setInterval
will not work as intended, it needs to be
setInterval(test,1000);
// /\
// hand over the *function reference* to be executed after 1 second