IE <img src="world.jpg" data-title="Hello World!<br/>What gives?"/>
Pek*_*ica 27
据我了解指南,它基本上是有效的,但最好使用HTML实体.
从HTML 4参考:
您还应该在属性值内转义&,因为在cdata属性值中允许实体引用.此外,您应该转义> as>以避免在引用的属性值中遇到此字符时,错误地将此错误地视为标记结尾的旧用户代理的问题.
除非另有指定,否则HTML元素上的属性可能具有任何字符串值,包括空字符串.除非明确说明,否则对此类属性中可指定的文本没有限制.
所以,正如@tdammers所说,最好的办法是逃避这些角色(引用W3C参考文献)
&
代表&
标志.<
代表<
标志.>
代表 >
标志."
代表"
商标.如果要将它们用作HTML,则从它们的实体值解码它们.
Alo*_*hci 10
假设你以text/html的形式提供它,那么它是有效的.
请注意,不仅可以在属性中包含标记,而且iframe元素上的HTML5 srcdoc属性也会鼓励它.HTML5草案说:
在HTML语法中,作者只需记住使用U + 0022 QUOTATION MARK字符(")来包装属性内容,然后转义所有U + 0022 QUOTATION MARK(")和U + 0026 AMPERSAND(&)字符,.. ..
请注意,当使用XML内容类型(例如application/xhtml + xml)时,它无效,甚至格式正确.
我会说是的,因为它仍然是有效的HTML5.较旧的浏览器(哪些?)可能无法正确解析.
第3.2.4.1节当前HTML5草案的属性说明了这一点:
除非另有指定,否则HTML元素上的属性可能具有任何字符串值,包括空字符串.除非明确说明,否则对此类属性中可指定的文本没有限制.
内部属性中的HTML标记也在http://html5.validator.nu验证
tda*_*ers -2
不。那是无效的 - HTML 不允许 < 或 > 内部属性。
<img src="world.jpg" data-title="Hello World!<br/>What gives?"/>
是有效的,但它会按字面显示 <br/>,而不是换行符。