2010-07-18 104 views
0

这里是我的代码:的jQuery DIV追加表两次

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
    ; "http://www.w3.org/TR/html4/loose.dtd"><html> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
     <script type="text/javascript" src="jquery-1.4.2.min.js"></script> 
    </head> 
    <body> 
    <div id="divmenutable"></div> 
    <script type="text/javascript"> 
    $(document).ready(function() { 
    var menuTable = $("<table><table>").addClass("table_menu"); 
    var menuRow = $("<tr></tr>"); 
    var menuCol = $("<td>awef</td>"); 
    menuRow.append(menuCol); 
    menuTable.append(menuRow); 
    $("#divmenutable").append(menuTable); 
    }); 
    </script> 
    </body> 
</html> 

结果,DIV添加表两次。我不知道为什么。我真正的代码是使用'for'循环向表中添加数据。我最小化了我的代码以显示问题。

+0

要优化的东西,你可能想只是把所有的东西都menuTable选择了正面的:var menuTable = $(“<表class ='table_menu'>​​awef“); – virstulte 2010-07-18 05:12:57

回答

5

您正在创建两个表格。关闭结束标记。

$('<table><table>').length // 2 

对战

$('<table></table>').length // 1 

也可以做

$('<table/>') 
+0

关于在jQuery中追加的一个很好的阅读:http://www.learningjquery.com/2009/03/43439-reasons-to-use-append-correctly – gearsdigital 2010-07-18 05:09:34

+0

您的最后一个表不需要结束标记符号。 $('

')在jQuery中使用花花公子。 – 2010-07-18 06:44:22