我有点困惑。我希望 $.css() 方法无论如何都可以将 css 属性愚蠢地添加到元素中。你知道,就像在 Chrome 开发工具中一样,当你将任何 css 属性应用到一个元素时,它就会简单地出现在 HTML 中。但显然它以某种方式检查它是否支持。例如,如果您运行以下命令:
$('#element').css('display','block'); /* returns jQuery object) */
$('#element').css('display') /* returns "block" */
但是如果你把类似的东西
$('#element').css('hurr','durr');
$('#element').css('hurr') /* returns undefined */
那么,jQuery 检查属性是否适用?
另一个例子。Opera 目前不支持 CSS 过滤器。或者是吗?好吧,我使用了这里描述的方法,令人惊讶的是它返回true
了“过滤器”。然后我尝试用 $.css 应用它:
$('#element').css('filter','blur(5px)');
$('#element').css('filter') /*returns "" (an empty string) *
因此,jQuery 不仅会检查元素是否受支持,还会检查 value 是否合法。它究竟是如何做到的?检查属性是否受支持的正确方法是什么?