I have this JavaScript code to turn HTML into nodes, but when I call it with "<b>The</b> HTML <i>was</i> changed.", I get "The HTML was". I've looked over it and I can't see what's wrong. There are no errors reported.
Code:function getHtml(el,n) { var nestinglevel = 0; var els = new Array(); var cur = ""; for(var i = 0;i<n.length;i++) { if(n.charAt(i) != "<") { cur += n.charAt(i); } else { if(nestinglevel==0) { el.appendChild(document.createTextNode(cur)); } else { els[nestinglevel-1].appendChild(document.createTextNode(cur)); } cur = ""; if(n.charAt(i+1) == "/") { nestinglevel--; if(nestinglevel==0) { el.appendChild(els[0]); } else { els[nestinglevel-1].appendChild(els[nestinglevel]); } while(n.charAt(i) != ">") i++; } else { //read the node type. var ntype = ""; i++; while(n.charAt(i) != ">") { ntype += n.charAt(i); i++; } var n_node = document.createElement(ntype); els[nestinglevel++] = n_node; } } } return false; }




Reply With Quote