Javascript 如何将两个方法合并为一个(.style+;.getcomputed style)
我有一些表格。我需要检查这个表单中所有元素的背景色。但是在一些元素中,颜色是由Javascript 如何将两个方法合并为一个(.style+;.getcomputed style),javascript,selenium,ide,Javascript,Selenium,Ide,我有一些表格。我需要检查这个表单中所有元素的背景色。但是在一些元素中,颜色是由定义的,而另一个元素的颜色是由css定义的。我需要将两个方法合并为一个(在Selenium IDE中) 以下是我的方法: 1(.style): var form=window.document.forms[0]; 元素=形式元素; for(var i=0,len=elements.length;i
定义的,而另一个元素的颜色是由css定义的。我需要将两个方法合并为一个(在Selenium IDE中)
以下是我的方法:
1(.style):
var form=window.document.forms[0];
元素=形式元素;
for(var i=0,len=elements.length;i
2(.getcomputedstyle):
var form=window.document.forms[0];
元素=形式元素;
for(var i=0,len=elements.length;i
第二种方法是获取浏览器中实际显示的颜色(它们可能来自内联样式、内部和/或外部css),因此您根本不需要第一种颜色(颜色可能已被覆盖)。第二种方法是将rgb值转换为十六进制(你是否需要它?p.S.如果你想让你的脚本在IE8中工作,我需要将颜色转换为rrggbb(十六进制),你可能需要使用。
var form = window.document.forms[0];
elements = form.elements;
for (var i = 0, len = elements.length; i < len; i++) {
color = elements[i].style.backgroundColor;
}
var form = window.document.forms[0];
elements = form.elements;
for (var i = 0, len = elements.length; i < len; i++) {
var color = window.document.defaultView.getComputedStyle(elements[i])
.getPropertyValue('background-color');
var colorArr = color.replace(/[\\rrgb\\(\\)]/g, '').split(',');
var hexString = '#'
+ parseInt(colorArr[0]).toString(16)
+ parseInt(colorArr[1]).toString(16)
+ parseInt(colorArr[2]).toString(16);
}