是否可以使用javascript或jquery循环遍历div的样式属性?
正如标题所说,我想知道是否可以使用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
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)我认为没有办法循环遍历所有样式值,因为无论是否声明,它们都会在那里(即使不声明宽度,它仍然会有一个宽度),所以最好只使用第二种方法(创建对象)谢谢。我没有想过这样做