问答详情
源自:4-3 任意属性值(一)

为啥obj.style.[attr]换成obj.style.attr就不管用了

http://img.mukewang.com/56f35ed10001b35610290530.jpg

我一直以为“.”都可以换用“[ ]”,但是听课以后我换用“.”就没有效果出来了,这是为啥?js中“.”和“[ ]”用法主要有哪些区别?请大神赐教

提问者:雨路 2016-03-24 11:31

个回答

  • chengyoubin
    2016-03-24 15:29:25
    已采纳

    那么如果width不是固定的,而是作为参数传进来的,那在外面传参数的时候,参数必须是以字符串的方式传,比如 getStyle(oDiv,'width'),这样传到函数里的也是一个字符串,对应的里面如果用点或者[''],就是这样:obj.currentStyle['width'] 或者 obj.style.'width'.这两种写法,显然第二种是错的,只能写成第一种。所以如果样式属性如果是当作参数传进来的,只能以['']的方式来接收。

  • gdaska
    2017-07-07 09:29:49

    这是那节课?

  • 图图233
    2016-03-24 15:41:28

    js中获取某个属性用.attr()

  • chengyoubin
    2016-03-24 15:02:02

    我也遇到这个问题