<div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div><div class="Wj3C7c">&gt; I find one particular issue: maybe the first text node should not be<br>

&gt; removed unconditionally.<br>
</div></div></blockquote></div><br>Yes you&#39;re right I have just quickly suggested to correct it that way and thare are bugs in what I have sent you.<br><br>&gt; Yes, do note that some of these will (probably) never work in IE<br>
&gt; (replacing part of the table, options etc.).<br><br>What&#39;s is not supposed to work ?&nbsp; Those nodes work like in other browsers excepted it does not restrict contained nodes.<br><br>My last suggestion would be:<br>
var restrictedContainerNodes = {<br>&nbsp;&nbsp;&nbsp; &#39;TD&#39;: &#39;TABLE&#39;,<br>&nbsp;&nbsp;&nbsp; &#39;TH&#39;: &#39;TABLE&#39;,<br>&nbsp;&nbsp;&nbsp; &#39;TR&#39;: &#39;TABLE&#39;,<br>&nbsp;&nbsp;&nbsp; &#39;THEAD&#39;: &#39;TABLE&#39;,<br>&nbsp;&nbsp;&nbsp; &#39;TBODY&#39;: &#39;TABLE&#39;,<br>
&nbsp;&nbsp;&nbsp; &#39;TFOOT&#39;: &#39;TABLE&#39;,<br>&nbsp;&nbsp;&nbsp; &#39;LI&#39;: &#39;UL&#39;,<br>&nbsp;&nbsp;&nbsp; &#39;DT&#39;: &#39;DL&#39;,<br>&nbsp;&nbsp;&nbsp; &#39;DD&#39;: &#39;DL&#39;,<br>&nbsp;&nbsp;&nbsp; &#39;OPTION&#39;: &#39;SELECT&#39;,<br>&nbsp;&nbsp;&nbsp; &#39;OPTGROUP&#39;: &#39;SELECT&#39;,<br>
};<br>kukit.dom.parseHTMLNodes = function(txt){<br>&nbsp;&nbsp;&nbsp; var firstNode = /&lt;([^&gt; ]*)[&gt; ]/.exec(txt);<br>&nbsp;&nbsp;&nbsp; firstNode = firstNode ? firstNode[1].toUpperCase() : null;<br>&nbsp;&nbsp;&nbsp; var node = document.createElement(restrictedContainerNodes[firstNode] || &#39;DIV&#39;);<br>
&nbsp;&nbsp;&nbsp; node.innerHTML = txt;<br>&nbsp;&nbsp;&nbsp; // gecko engine automatically adds a TBODY node for table elements<br>&nbsp;&nbsp;&nbsp; if (node.firstChild) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var elementNode = node.firstChild.nodeType != 3 ? node.childNodes[0] : <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; node.childNodes[1];<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (restrictedContainerNodes[firstNode] == &#39;TABLE&#39; &amp;&amp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; restrictedContainerNodes[elementNode.nodeName] == &#39;TABLE&#39;)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; node = elementNode;<br>&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; var resultNodes = [];<br>
&nbsp;&nbsp;&nbsp; for (var i=0; i&lt;node.childNodes.length; i++) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; resultNodes.push(node.childNodes.item(i));<br>&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; return resultNodes;<br>};<br><br><br clear="all"><br>-- <br>Christophe BOSSE - Développeur<br>INGENIWEB (TM) - SAS 50000 Euros - RC B 438 725 632<br>
Bureaux de la Colline - 1 rue Royal - Bâtiment D - 9ème étage<br>92210 Saint Cloud - France<br>Phone : 01 78 15 24 02 / Fax : 01 46 02 44 04<br><a href="http://www.ingeniweb.com">http://www.ingeniweb.com</a> - une société du groupe Alter Way