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之外。