您的浏览器过于古老 & 陈旧。为了更好的访问体验, 请 升级你的浏览器
Ready 发布于2014年09月23日 10:53

原创 jQuery.support 属性详解

2042 次浏览 读完需要≈ 5 分钟

内容目录

jQuery.support属性用于返回用户当前使用的浏览器的特性或bug信息。该属性是一个对象。

该对象的属性并不是一成不变的,jQuery也并不保证指定的属性在未来的版本中一定可用,这些属性主要供插件或内核开发人员使用。

该函数属于全局jQuery对象。

语法

jQuery 1.3 新增静态属性

jQuery.support

属性列表

jQuery.support属性是一个对象,其属性较多,并且每个jQuery版本的属性都并不一致,请在使用前自行确定当前版本支持的属性。其常见属性如下:

ajax: 如果浏览器可以创建XMLHttpRequest对象来执行AJAX请求,则返回true。

boxModel: 如果这个页面和浏览器是以W3C标准的CSS盒模型来渲染的,则等于true。通常在IE 6和IE 7的怪癖模式(QuirksMode)中这个值是false。在document准备就绪前,这个值是null。

cssFloat: 如果用cssFloat来访问CSS的float的值,则返回true。目前在IE中会返回false,他用styleFloat代替。

hrefNormalized: 如果浏览器从getAttribute("href")返回的是原封不动的结果,则返回true。在IE中会返回false,因为他的URLs已经常规化了。

htmlSerialize: 如果浏览器通过innerHTML插入链接元素的时候会序列化这些链接,则返回true,目前IE中返回false。

leadingWhitespace: 如果在使用innerHTML的时候浏览器会保持前导空白字符,则返回true,目前在IE 6-8中返回false。

noCloneEvent: 如果浏览器在克隆元素的时候不会连同事件处理函数一起复制,则返回true,目前在IE中返回false。

objectAll: 如果在某个元素对象上执行getElementsByTagName("*")会返回所有子孙元素,则为true,目前在IE 7中为false。

opacity: 如果浏览器能适当解释透明度样式属性,则返回true,目前在IE中返回false,因为他用alpha滤镜代替。

scriptEval: 使用 appendChild/createTextNode 方法插入脚本代码时,浏览器是否执行脚本,目前在IE中返回false,IE使用.text方法插入脚本代码以执行。

style: 如果getAttribute("style")返回元素的行内样式,则为true。目前IE中为false,因为他用cssText代替。

tbody: 如果浏览器允许table元素不包含tbody元素,则返回true。目前在IE中会返回false,他会自动插入缺失的tbody。

返回值

jQuery.support属性的返回值为Object类型

示例&说明

// 必须是 1.9 之前(不含1.9)的 jQuery 版本
$.support.ajax; // 如果浏览器支持创建XMLHttpRequest对象,则返回true,否则为false。

$.support.boxModel; // 绝大多数浏览器返回true,在IE怪癖模式中返回false。

运行代码

  • CodePlayer技术交流群1
  • CodePlayer技术交流群2

0 条评论

撰写评论

打开导航菜单