TypeError: document.body is null

Execute the code when the DOM loads. Wrap your logic in an event listener for DOMContentLoaded.

document.addEventListener('DOMContentLoaded', function () {
    // ...
});

The reason it worked in JSFiddle is because the JS is executed on load (that’s the default option in JSFiddle).


Alternatively, depending on when you need the logic to be executed, you could also use:

window.addEventListener('load', function () {
    // ...
});

See: Difference between DOMContentLoaded and Load events

Leave a Comment