Dav*_*ave 5 html escaping option
将不受信任的文本插入HTML文档时,必须转义某些特殊字符(例如<,&,"等).("对于引用的属性).例如:
<div>Some tags are <b> and <div></div>
Run Code Online (Sandbox Code Playgroud)
变为:
<div>Some tags are <b> and <div></div>
Run Code Online (Sandbox Code Playgroud)
(人们可以讨论>的必要性,但这里没有相关性.)
那很好但是在选项标签里面呢?如果我希望文本为"</ option>",我该怎么做?
这不起作用:
<option></option></option>
Run Code Online (Sandbox Code Playgroud)
我发现HTML字符实体(<,>等)被删除.我试过Chrome和Firefox.我假设这与选项标签不能包含嵌套标签的事实有关.谷歌在这方面让我失望.:(
还有一个相关问题:由于<option>具有特殊的转义行为,如上所示,我们知道<script>有自己的行为.是否存在具有特殊转义行为的所有HTML标记的某个完整列表以及有哪些规则?
谢谢.
如果我正确理解你的问题,如下面的代码片段所示,你可以<option>完美地转义标签内的 HTML 实体(在 Firefox、Chrome 和 Safari 上测试)。
因此您可以将文本</option>放在选项标签内。<这是使用代表和>字符的 HTML 实体来完成的
本质上它与拥有相同:
<option></option></option>
Run Code Online (Sandbox Code Playgroud)
虽然中间</option>不被视为结束标签,但它在浏览器中以这种方式显示
附带说明一下,<option>转义字符时使用标签的唯一限制在于:before和:afterCSS 伪元素。W3建议您不能<option>使用这些伪元素在标签前添加/追加内容。尽管出于某种原因,在 Firefox 48 中这实际上是有效的
<option></option></option>
Run Code Online (Sandbox Code Playgroud)
#css-option:before {
content: "any text";
}Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2196 次 |
| 最近记录: |