例如,假设您有类似这样的内容:
<div data-object="{'str': '<h1>This is a nice headline</h1>'}"></div>
这是否允许在HTML5中使用并在所有浏览器中正确呈现?
编辑: 正确地说,我的意思是浏览器将忽略并且不以任何方式呈现H1;)
答案 0 :(得分:3)
是的,只要它被正确引用就允许。
会渲染吗? H1元素?不 - 因为它不是一个元素,它只是div元素属性中的一些文本。
答案 1 :(得分:0)
是的,浏览器不会在属性中呈现任何HTML标记。当你想稍后移动元素以便它出现时,这是非常常见的。唯一的问题是,这不是一种方法,因为这不会在DOM中创建一个元素,因此,它会慢得多。
尝试找到一种方法或要求替代/更好的方法来重复使用在加载页面时隐藏的元素。
答案 2 :(得分:0)
是的,这是允许的,但是为了使它工作,你必须使用双引号使它成为有效的JSON:
<div data-object='{"str": "<h1>This is a nice headline</h1>"}'></div>
现在解析它只有:( jQuery将自己解析为JSON)
var element = $("div").eq(0);
var rawData = element.data("object");
var rawHTML = rawData["str"];
$(rawHTML).appendTo("body");