You need to call removeChildfor the element itself:
function escapeHTML(str) {
var div = document.createElement('div');
var text = document.createTextNode(str);
div.appendChild(text);
var escapedHTML = div.innerHTML;
div.removeChild(text);
return escapedHTML;
}
, (, = "\n" ). Prototype.js .
, , , , ;)
, . . :
var escapeHTML = (function(){
var div = document.createElement('div');
var text = document.createTextNode('');
div.appendChild(text);
return function(str) {
text.data = str;
return div.innerHTML;
};
})();
, (.. null ing) , .
, unload (aka page cache) . JS , , (, Prototype.js, jQuery, YUI), - .
, (, String.prototype.replace):
function escapeHTML(str) {
return str.replace(/&/g,'&').replace(/</g,'<').replace(/>/g,'>');
}
, , , ";" ; , :)