jQuery在$(html_with_inline_styles)上丢失样式

在Firefox 3.6(Firebug控制台)中,做
$('<div style="-x-foo:bar;color:red;" />').attr("style")
结果是
"color: red;"
为什么不公认的风格规则会丢失?     
已邀请:
对于浏览器应对未识别的规则执行的操作,没有已定义的操作。有些浏览器可能会将它们添加到DOM但忽略它们,其他浏览器可能会完全删除它们。 Firefox是丢弃未知规则的人之一。 您可能在其他浏览器中有不同的结果。关键在于它未定义,因此很难预测会发生什么,即使在同一浏览器的版本之间也是如此。 我想真正的问题是:你试图指定的无法识别的规则是什么?你在这里显然想要做一些聪明的伎俩,我怀疑你已经给出了问题的答案将是你正在寻找的答案,以便你聪明的伎俩起作用。也许如果你描述了你试图通过这个无法识别的规则实现的目标,我们可以帮助你找到实现它的方法,特别是因为你当前的计划似乎不太可能。     
jQuery将创建一个新的DOM元素。 Firefox将解析该元素的
style
属性并忽略它不理解的任何内容。 值得注意的是,Chrome不会删除此类属性。 尝试此链接在不同的浏览器中测试此行为 - 感谢ILMV!     
浏览器会在创建节点并设置属性值时丢弃它无法识别的属性。 当您获得浏览器在内存中保存的序列化时,它们将不再存在。     

要回复问题请先登录注册