是否可以使用javascript或jquery循环遍历div的样式属性?

是否可以使用javascript或jquery循环遍历div的样式属性?,javascript,jquery,Javascript,Jquery,正如标题所说,我想知道是否可以使用javascript或jquery循环遍历div的样式属性。我要做的是循环遍历样式,并创建一个包含这些样式名称和值的对象 下面是我正在尝试做的一个例子: alert($('#mydiv').attr('style')); 提供以下信息: background-color: #CCCCCC; border-width: 2px; border-style: solid; width: 250px; 我想创建一个如下所示的对象: {"background-col

正如标题所说,我想知道是否可以使用javascript或jquery循环遍历div的样式属性。我要做的是循环遍历样式,并创建一个包含这些样式名称和值的对象

下面是我正在尝试做的一个例子:

alert($('#mydiv').attr('style'));
提供以下信息:

background-color: #CCCCCC; border-width: 2px; border-style: solid; width: 250px;
我想创建一个如下所示的对象:

{"background-color":"#CCCCCC","border-width":"2px","border-style":"solid","width":"250px"}
我搞不清楚的是,这是否可以通过在样式中循环实现,或者我是否必须自己使用类似于下面的代码创建对象:

var style = {};

style['width'] = $('#mydiv').css('width');
任何输入都将不胜感激。

对于
$('#id')。attr('style')
将返回一个字符串
颜色:红色
,因此我想,您不能直接循环它们

但是,您可以创建一个数组
string.split(“;”)
并在其上循环


但是与内部
标记或一些
CSS
文件相关联的CSS,我认为您无法获得它。但是,我不确定。

这是否符合您的要求

var parts = style.split(";")
var obj = {}
for (var i=0;i<parts.length;i++) {
  var subParts = parts[i].split(':');
  obj[subParts[0]]=subParts[1];
}
var parts=style.split(“;”)
var obj={}

对于(var i=0;ii)我认为没有办法循环遍历所有样式值,因为无论是否声明,它们都会在那里(即使不声明宽度,它仍然会有一个宽度),所以最好只使用第二种方法(创建对象)谢谢。我没有想过这样做