我有这个问题:
$(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,和。 有可能吗?
非常感谢所有人。答案 0 :(得分:7)
当您以这种方式使用jQuery创建元素时,它们将被创建自动关闭。但是,即使jQuery文档也建议您明确关闭它:
为确保跨平台兼容性,代码段必须格式正确。 可以包含其他元素的标记应与结束标记配对:
即:
$('<table />');
或$('<table></table>');
不能包含元素的标签可以快速关闭或不关闭:
即:
$('<img />');
或$('<input>');
答案 1 :(得分:1)
假设您指的是您正在创建的table
元素,它将自动关闭,因为jQuery依赖于javascripts'createElement()
函数来创建元素。
当参数包含单个标记(带有可选的结束标记或快速关闭) -
$('<img />')
或$('<img>')
,$('<a></a>')
或$('<a>')
时,jQuery会使用原生JavaScriptcreateElement()
函数。
答案 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()函数。