JS问题,求问更改css属性的问题。XX.style.background="red"不是正确的吗?这里怎么不行

html-css012

JS问题,求问更改css属性的问题。XX.style.background="red"不是正确的吗?这里怎么不行,第1张

style[] 其实就是返回的是一个CSS样式声明对象([object CSSStyleDeclaration])

其实我们直接用.XXX去做一个样式的改变时候 就像我们用window.onload 一样 调用了window对象的onload方法,当然我们用.去直接调用对象中的方法或者内容的时候是严格区分大小的。

其实主要的问题是style. 后面的参数在js内部虚拟机的解析问题,因为你是通过来的参数

就是好比arr 就是width

obj.style.arr = '1px'

这里的arr js会认为arr是css对象中的一个属性

obj.style[arr] = '1px'

这里的arr js会将arr实意后找到css对象中的属性

当然这样也是不行的

obj.style['arr'] = '1px'

我也不知道楼主能不能懂,但是就是这么一个意思,如果楼主质执意要用style.width = xx

可以用过switch进行设置

switch(arr)

case 'width' : obj.style.width = '1px'

css只负责静态样式,无法做任何逻辑运算,如果需要随机背景,需要js配合使用

// 首先,定义一个数组,用于存放所有的背景图片

var arr = new Array()

// 将所有背景图放入arr内

arr.push('背景图地址', '背景图地址', '背景图地址')

// 随机获得一个键值

var bg = Math.floor((Math.random() * arr.length))

// 将背景图片放入body的css中

$('body').css('background-image', arr[bg])