日期:2014-05-16  浏览次数:20596 次

jQuery 如下代码,请帮忙看一下!
if (o.alignment == 'horizontal') {
$this.children().css( {
'float' : 'left',
'listStyle' : 'none',
        'marginRight' : o.margin
});
    'listStyle' : 'none'和'marginRight' : o.margin应该代表的是css样式!和list-style,margin-right有什么关系?用法上有什么区别!

------解决方案--------------------
有些css属性,在js中的写法是不一样的,

比如css中的“-”,包括:margin-left,background-color等这样的样式,

在js中修改时,都会改写成驼峰的写法,就是marginLeft,backgroundColor。

这个地方,两种写法都是可以的。至于为什么会用驼峰式的写法,估计是为了在JS统一写法吧,

因为在dom对象改变时,只能支持驼峰的写法才行,比如修改一个dom元素的背景色

ele.style.backgroundColor = value;

需要这样写

这样的dom修改,主要注意的地方有两个,就是class和float的时候,因为这两个都是浏览器内置的量。

所以如果用作css的修改时,为了不和它们在js中的内容起冲突,就会稍做修改。

ele.className = value;

float更严重,在ie浏览器和其他浏览器下还有区别:
ele.style.cssFloat = value;    //ie9+,和其他浏览器
ele.style.styleFloat = value;  //ie8-

其他都算正常,有连接符的,就按照驼峰的写,没有连接符的,就直接写,除了class和float之外。