为了账号安全,请及时绑定邮箱和手机立即绑定

关于获取元素样式的兼容性写法为什么不行呢?

关于获取元素样式的兼容性写法为什么不行呢?

翻阅古今 2018-12-20 18:15:42
<!DOCTYPE HTML><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>无标题文档</title><style>div { width:100px; height:120px; background:red; }</style><!--<script src="miaov.js"></script>--><script>function $( v ){    if( typeof v === 'function' ){         return window.onload = v;        //console.log(v)    } else if ( typeof v === 'string' ) {        return document.getElementById(v);    } else if ( typeof v === 'object' ) {        return v;    }}$(function(){        // $('div1').style.width = '300px';            $('btn1').onclick = function  (){                //var aaa=getComputedStyle( $('div1')).width || $('div1').currentStyle.width        var aaa=  $('div1').currentStyle.width ||  getComputedStyle( $('div1')).width        ***//在这里用申明变量的方式写了ie和chrome的获取元素样式的写法,为什么会报错的?备注:这里用的$不是jquery,而是上面定义的$函数***        alert(aaa)            };});</script></head><body><input id="btn1" type="button" value="按钮" /><div id="div1"></div></body></html>
查看完整描述

1 回答

?
翻过高山走不出你

TA贡献1875条经验 获得超3个赞

你思路是没啥问题,但是细节有点问题。


https://img1.sycdn.imooc.com//5c4024b60001998905820023.jpg

你是想||运算符,返回其中一个为真的,但是它只能用来处理真假,而错误不能算是假。

$('div1').currentStyle 返回的是一个undefined,你再取他的属性,自然是报错。||不能判断错误。

你可以先判断,再取width的值。


 var aaa=  $('div1').currentStyle ||  getComputedStyle( $('div1'));

 var aaaa = aaa.width;


查看完整回答
反对 回复 2019-01-17
  • 1 回答
  • 0 关注
  • 454 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信