我有一个jQuery表达式,它将标签附加到表中。它只指定结束标记,但它似乎有效。
parent.$("#uploaded-files").append(
$("<tr/>")
.append($("<td/>").text(file.fileId))
.append($("<td/>").text(file.fileName))
.append($("<td/>").text(file.fileSize))
.append($("<td/>").text(file.fileType))
.append($("<td/>")
.html("<a href='controller/get/"+index+".htm'>Click</a>"))
)
我不知道你可以在jQuery中做到这一点。看起来它允许您将结束标记放在开始标记所在的位置。有人可以帮我解释一下吗?
答案 0 :(得分:1)
$("<td/>")
与jquery中的$("<td></td>")
相同。
你可以选择以下任何一种方式:
$('.selector').append('<td class="someClass" />');
或者,
$('.selector').append('<td class="someClass"></td>');
因此,这是打开和关闭标签的简写。
答案 1 :(得分:0)
那些不是关闭标签(结束标签),它们是自动关闭标签。 td
的结束标记为</td>
,而不是<td/>
。 <td/>
是一种速记(在技术上不正确*,对于HTML)写作<td></td>
的方式。它适用于jQuery,但you can also just leave the /
out of those instead。 jQuery以完全相同的方式(故意)对待"<td>"
,"<td/>"
和"<td></td>"
。
*为什么在HTML中使用td
的自关闭标记不正确:因为tags for elements that aren't void cannot be self-closing in HTML,只有XHTML。因此,在HTML中,<br>
和<br/>
都有效,因为br
是一个void元素;但是<div>
和<div/>
都是div
的 start 标记; HTML中的<div/>
!= <div></div>
(在XHTML中)。