2010-07-18 6 views
0

Вот мой код:JQuery DIV Append таблицы дважды

<!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> 

В результате, отд добавить таблицу дважды. Я не знаю, почему. Мой реальный код - использовать цикл «для» для добавления данных в таблицу. Я минимизировал свой код, чтобы показать проблему.

+0

Чтобы оптимизировать вещи, вы можете просто положить все в селекторе menuTable авансом: вар menuTable = $ ("

awef
"); – virstulte

ответ

5

Вы создаете две таблицы. Закройте конечный тег.

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

Versus

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

Может также сделать

$('<table/>') 
+0

Хорошо читайте о добавлении в jQuery: http://www.learningjquery.com/2009/03/43439-reasons-to-use-append-correctly – gearsdigital

+0

Ваша последняя таблица не требует обозначения концевого тега. $ ('

') работает dandy в jQuery. –

Смежные вопросы