关闭创建的jQuery元素

时间:2012-12-17 15:29:16

标签: jquery html ajax

我有这个问题:

$(document).ready(function() {                                 
    $('#buttonTest').click(function() {                        
        $.get('/WebTestProject/ServletEsempio', function(responseJson) {         
            var $table = $('<table>').appendTo($('#result')); 
            $.each(responseJson, function(index, product) {    
                $('<tr>').appendTo($table)                     
                    .append($('<td>').text(index))       
                    .append($('<td>').text(product))    
            });
        });
    });
});

这个代码可以调用我的servlet,但我没有找到如何关闭TAG,和。 有可能吗?

非常感谢所有人。

3 个答案:

答案 0 :(得分:7)

当您以这种方式使用jQuery创建元素时,它们将被创建自动关闭。但是,即使jQuery文档也建议您明确关闭它:

  

为确保跨平台兼容性,代码段必须格式正确。 可以包含其他元素的标记应与结束标记配对:

     

即:$('<table />');$('<table></table>');

     

不能包含元素的标签可以快速关闭或不关闭:

     

即:$('<img />');$('<input>');

来源http://api.jquery.com/jQuery/#creating-new-elements

答案 1 :(得分:1)

假设您指的是您正在创建的table元素,它将自动关闭,因为jQuery依赖于javascripts'createElement()函数来创建元素。

来自documentation

  

当参数包含单个标记(带有可选的结束标记或快速关闭) - $('<img />')$('<img>')$('<a></a>')$('<a>')时,jQuery会使用原生JavaScript createElement()函数。

答案 2 :(得分:1)

来自jQUery doku(http://api.jquery.com/jQuery/):

  

创建新元素

     

如果一个字符串作为参数传递给$(),jQuery会检查   字符串,看它是否看起来像HTML(即它有某处   在字符串内)。如果不是,则将字符串解释为选择器   表达,如上所述。但如果字符串看起来是一个   HTML片段,jQuery尝试按照描述创建新的DOM元素   通过HTML。然后创建并返回引用的jQuery对象   对这些元素。您可以执行任何常用的jQuery方法   这个对象:$('我的   文本

')。appendTo(' 主体“);

     

如果HTML比没有属性的单个标签更复杂,那么   在上面的例子中,元素的实际创建是   由浏览器的innerHTML机制处理。在大多数情况下,jQuery   创建一个新元素并设置的innerHTML属性   传入的HTML片段的元素。当参数有。时   一个标签(带有可选的结束标签或快速关闭) - $('')或$(''),$('')或$('') - jQuery创建   元素使用本机JavaScript createElement()函数。