I&#39;ve found a bug while using replaceHTML kss command.<br>The deal here is to create a DIV element to let the browser engine to parse HTML code. The problem is that in gecko browser (maybe others too) when adding a node requiring a special parent node (LI, TR, TD, DT, DD etc...) it will skip those nodes because the DIV&nbsp; element does not fit in this case.<br>
<br>Here&#39;s my dirty quick patch:<br><br clear="all">var restrictedParentNodes = {<br>&nbsp;&nbsp;&nbsp; &#39;th&#39;: &#39;thead&#39;,<br>&nbsp;&nbsp;&nbsp; &#39;td&#39;: &#39;tr&#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] : null;<br>&nbsp;&nbsp;&nbsp; var node = document.createElement(restrictedParentNodes[firstNode] || &#39;div&#39;);<br>
&nbsp;&nbsp;&nbsp; node.innerHTML = txt;<br>&nbsp;&nbsp;&nbsp;&nbsp; console.log(node.firstChild);<br>&nbsp;&nbsp;&nbsp; // gecko engine automatically adds a TBODY node<br>&nbsp;&nbsp;&nbsp; if (node.firstChild) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (node.firstChild.nodeType == 3)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; node.removeChild(node.firstChild);<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (node.firstChild.nodeName == &#39;TBODY&#39;)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; node = node.firstChild;<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>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