我在使用html时遇到了一些麻烦。如果我写一个包含<>的字符串有时这些角色之间缺少什么。
<tr>
<td> User Name:</td>
<td>abcd<efgh>ilmn</td>
</tr>
<br>
<tr>
<td> User Name:</td>
<td> <Input Type="text" value="abcd<efgh>ilmn"></td>
</tr>
<br>
<tr>
<td> User Name:</td>
<td>abcd<1efgh>ilmn</td>
</tr>
<br><tr>
<td> User Name:</td>
<td>abcd<!efgh>ilmn</td>
</tr>
这就是我获得的:
用户名:abcdilmn
用户名:abcdilmn
用户名:abcd&lt; 1efgh&gt; ilmn
用户名:abcdilmn
这里有一个小提琴: https://jsfiddle.net/2txjmf6o/7/
答案 0 :(得分:2)
它将它们视为标签。如果你想看到它们,你应该逃避它们。
<td>abcd<efgh>ilmn</td>
答案 1 :(得分:1)
默认情况下,所有浏览器都会将这些字符解析为代码块,如果您想使用这些字符,则可以使用其utf8代码。检查下面更新的代码段。
<tr>
<td> User Name:</td>
<td>abcd<efgh>ilmn</td>
</tr>
<br>
<tr>
<td> User Name:</td>
<td> <Input Type="text" value="abcd<efgh>ilmn"></td>
</tr>
<br>
<tr>
<td> User Name:</td>
<td>abcd<1efgh>ilmn</td>
</tr>
<br><tr>
<td> User Name:</td>
<td>abcd<!efgh>ilmn</td>
</tr>
&#13;
答案 2 :(得分:0)
您的问题是,文本被识别为标签。当您查看其余代码时,您会注意到<td>
和<efgh>
具有相同的语法。
仅仅因为没有这样的标签,这并不意味着它不作为标签处理。忽略未知标签实际上是一项功能,因此浏览器可以使用较新的标准呈现HTML而不会出现问题。因此,想象一个旧浏览器只是因为它不知道它而逐字显示<audio>
标签。这将比不显示它更糟糕。
解决方案是使用实体<<
和>
转义特殊字符。
以下是适合使用实体的示例。
<tr>
<td> User Name:</td>
<td>abcd<efgh>ilmn</td>
</tr>
<br>
<tr>
<td> User Name:</td>
<td> <Input Type="text" value="abcd<efgh>ilmn"></td>
</tr>
<br>
<tr>
<td> User Name:</td>
<td>abcd<efgh>ilmn</td>
</tr>
<br><tr>
<td> User Name:</td>
<td>abcd<!efgh>ilmn</td>
</tr>
<br>
&#13;
使用上面的< and >
检查