返回值:ObjectjQuery.support
V1.3jQuery $.support概述
jQuery 1.3 新增。一組用于展示不同瀏覽器各自特性和bug的屬性集合。
jQuery提供了一系列屬性,你也可以自由增加你自己的屬性。其中許多屬性是很低級的,所以很難說(shuō)他們能否在日新月異的發(fā)展中一直保持有效,但這這些主要用于插件和內核開(kāi)發(fā)者。
所有這些支持的屬性值都通過(guò)特性檢測來(lái)實(shí)現,而不是用任何瀏覽器檢測。以下有一些非常棒的資源用于解釋這些特性檢測是如何工作的:
- http://peter.michaux.ca/articles/feature-detection-state-of-the-art-browser-scripting
- http://yura.thinkweb2.com/cft/
- http://www.jibbering.com/faq/faq_notes/not_browser_detect.html
jQuery.support主要包括以下測試:
boxModel: 如果這個(gè)頁(yè)面和瀏覽器是以W3C CSS盒式模型來(lái)渲染的,則等于true。通常在IE 6和IE 7的怪癖模式中這個(gè)值是false。在document準備就緒前,這個(gè)值是null。
cssFloat: 如果用cssFloat來(lái)訪(fǎng)問(wèn)CSS的float的值,則返回true。目前在IE中會(huì )返回false,他用styleFloat代替。
hrefNormalized: 如果瀏覽器從getAttribute("href")返回的是原封不動(dòng)的結果,則返回true。在IE中會(huì )返回false,因為他的URLs已經(jīng)常規化了。
htmlSerialize: 如果瀏覽器通過(guò)innerHTML插入鏈接元素的時(shí)候會(huì )序列化這些鏈接,則返回true,目前IE中返回false。
leadingWhitespace: 如果在使用innerHTML的時(shí)候瀏覽器會(huì )保持前導空白字符,則返回true,目前在IE 6-8中返回false。
noCloneEvent: 如果瀏覽器在克隆元素的時(shí)候不會(huì )連同事件處理函數一起復制,則返回true,目前在IE中返回false。
objectAll: 如果在某個(gè)元素對象上執行g(shù)etElementsByTagName("*")會(huì )返回所有子孫元素,則為true,目前在IE 7中為false。
opacity: 如果瀏覽器能適當解釋透明度樣式屬性,則返回true,目前在IE中返回false,因為他用alpha濾鏡代替。
scriptEval: 使用 appendChild/createTextNode 方法插入腳本代碼時(shí),瀏覽器是否執行腳本,目前在IE中返回false,IE使用 .text 方法插入腳本代碼以執行。
style: 如果getAttribute("style")返回元素的行內樣式,則為true。目前IE中為false,因為他用cssText代替。
tbody: 如果瀏覽器允許table元素不包含tbody元素,則返回true。目前在IE中會(huì )返回false,他會(huì )自動(dòng)插入缺失的tbody。
示例
描述:
檢測瀏覽器是否支持盒式模型
jQuery 代碼:
jQuery.support.boxModel