Разница в состоит в том, что перенос строки является символом, а это значит что в дочерних узлах появится текст, а значит что ссылки
var overlay = this.childNodes[1];
var image = this.childNodes[0];
будут неверными, а следовательно ваша анимация работать не будет. В таком случае просто ищите элемент внутри элемента, вместо поиска узла. Попробуйте отладить код прежде, чем писать свой вопрос, отладка наша все