I want to make a div <div id="myDiv"> become <table border="1"><tr><td>1</td><td>2</td><td>3</td></tr><tr><td>4</ td><td><div id="myDiv"></td><td>6</td></tr><tr><td>7</td><td>8</ td><td>9</td></tr></table>
This is my solution, but I want to ask for better one. /** * Wrap Table */ (function() { $.fn.dramaWrapTable = function($obj) { var $tbl = '<table border="1"><tr><td>1</td><td>2</td><td>3</td></ tr><tr><td>4</td><td></td><td>6</td></tr><tr><td>7</td><td>8</ td><td>9</td></tr></table>'; return this.each(function() { $(this) .before($tbl) .clone(true) .prependTo($(this).prev().find('td').eq(4)) .end() .end() .remove(); }); } })(jQuery) <script> $(function() { $('#myDiv').dramaWrapTable(); }); </script>