1

我有这个问题:

$(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 和 . 是否可以?

非常感谢所有人。

4

3 回答 3

7

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

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

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

不能包含元素的标签可能会被快速关闭:

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

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

于 2012-12-17T15:33:02.163 回答
1

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

文档中:

当参数有单个标签(带有可选的结束标签或快速结束标签)时——$('<img />')$('<img>')$('<a></a>')$('<a>')——jQuery 使用原生 JavaScriptcreateElement()函数创建元素。

于 2012-12-17T15:30:49.120 回答
1

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

创建新元素

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

').appendTo('body');

如果 HTML 比没有属性的单个标签更复杂,如上例所示,则元素的实际创建由浏览器的 innerHTML 机制处理。在大多数情况下,jQuery 会创建一个新元素并将该元素的 innerHTML 属性设置为传入的 HTML 片段。当参数具有单个标签(带有可选的结束标签或快速结束标签)时 - $('') 或$('')、$('') 或 $('') — jQuery 使用原生 JavaScript createElement() 函数创建元素。

于 2012-12-17T15:33:34.920 回答