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