jQuery浏览器功能测试support --样式测试

样式测试(2.1~2.3)3个

jQuery.support = (function() {

    var support,
        all,
        a,

        div = document.createElement( "div" ),
        documentElement = document.documentElement;

    // Preliminary tests
    div.setAttribute("className", "t");
    div.innerHTML = "   <link/><table></table><a href='/a' style='top:1px;float:left;opacity:.55;'>a</a><input type='checkbox'/>";

    all = div.getElementsByTagName( "*" );
    a = div.getElementsByTagName( "a" )[ 0 ];

    support = {
        // Get the style information from getAttribute
        // (IE uses .cssText instead)
        // 2.1 如果DOM元素内联样式可以通过DOM属性style直接访问,则测试项style为true
        // 在IE6, IE7,IE8中,需要通过style.cssText访问内联样式,此时测试项style为false, 而在其他浏览器重则为true
        style: /top/.test( a.getAttribute("style") ),


        // Make sure that element opacity exists
        // (IE uses filter instead)
        // Use a regex to work around a WebKit issue. See #5145
        // 2.2 如果浏览器支持样式opacity, 则测试项opacity为true
        // 在IE6, IE7, IE8中,不支持样式opacity, 需要用滤镜(alpha filters)代替,此时测试项opacity为false, 而在其他浏览器中则为true
        // 在Opera9.2以及之前的Opera浏览器中,a.style.opacity==="0.5"的结果为false,即认为Opera不迟滞样式Opacity, 而事实上是支持的。
        // jquery-1.2.js的写法:a.style.opacity==="0.5"
        // jquery-1.4.js的写法是: /^0.55$/.test(a.style.opacity)
        opacity: /^0.55/.test( a.style.opacity ),

        // Verify style float existence
        // (IE uses styleFloat instead of cssFloat)
        // 2.3 如果浏览器支持通过style.cssFloat访问样式float, 则测试项cssFloat为true
        // 在IE6,IE7, IE8中,需要通过style.styleFloat访问样式float,此时测试项cssFloat为false, 而在其他浏览器中则为true
        cssFloat: !!a.style.cssFloat,

    };




    return support;
})();
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值