You don’t need to worry about the HTML entities nor any complex string replacing.
All you need is a little CSS:
#target {
white-space: pre;
}
and use the .text()
approach:
(function(){
var srcText = $("#src").text().trim();
i = 0;
result = srcText[i];
setInterval(function() {
if(i == srcText.length-1) {
clearInterval(this);
return;
};
i++;
result += srcText[i];
$("#target").text(result);
}, 150); // the period between every character and next one, in milliseonds.
})();
http://jsfiddle.net/mattball/vsb9F/