嗨,我只是想知道是否可以使用像这样的函数在javascript中构建数组.我有一个变量,它使用了一系列元素的边距$(ele).css('margin');.这将返回一个字符串,0px 0px 0px 0px其中我只希望left属性检查它是否已被动画-=左.
我可以做类似的功能但我知道必须有更好的方法.这是我的例子:
var marginsLeft = new array();
$(ele).each(function(i){
var r = $(i).css('margin').split(" ");
marginsLeft[i]=r[3];
});
Run Code Online (Sandbox Code Playgroud)
我不完全确定如何简化这一点,但我确信这是可能的:)提前感谢.
你可以使用$.map:
var marginsLeft = $(ele).map(function() {
return parseInt($(this).css('margin-left'), 10);
}).get();
Run Code Online (Sandbox Code Playgroud)
更新:正如@undefined所指出的,如果你想要一个常规数组,你也应该调用.get结果.否则,你将拥有一个jQuery包装数组.它类似于数组,因此它可以在许多上下文中用作数组,但在其他上下文中则不能(特别是,它可能没有本机Array方法).
此外,要将结果转换为您可以使用的数字parseInt(将忽略字母并仅使用数字),记住要显示基数(10).
| 归档时间: |
|
| 查看次数: |
784 次 |
| 最近记录: |