我正在尝试在html textarea中显示<link>
文字
以下是我用来执行此操作的代码。
JS代码:
$(document).ready(function () {
$('#TextArea1').val('hello world <a> <link> hello world');
});
Html代码:
<body style="background-color:#77de6f">
<form id="form1" runat="server">
<div>
<textarea id="TextArea1" cols="20" rows="2"></textarea>
</div>
</form>
</body>
在Chrome浏览器上呈现的输出
使用代码段我没有收到<link />
而是显示<link>
。
下面的代码段
$(document).ready(function () {
$('#TextArea1').val('hello world <a> <link> hello world');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<body style="background-color:#77de6f">
<form id="form1" runat="server">
<div>
<textarea id="TextArea1" cols="20" rows="2"></textarea>
</div>
</form>
</body>
有人能让我知道为什么输出会有差异吗?以及为什么<link>
在浏览器中转换为<link />
?
答案 0 :(得分:1)
link
是一个空元素。 (即没有内容或结束标记的元素。在XHTML中,这些元素用标记末尾的斜杠表示。
a
不是空元素。应该有内容和结束a
标记。
因此,浏览器将link
表示为空标记,将a
标记表示为非空标记。
https://developer.mozilla.org/en-US/docs/Glossary/Empty_element