Javascript HTML5输入类型颜色不';通过js创建时不显示值

Javascript HTML5输入类型颜色不';通过js创建时不显示值,javascript,html,Javascript,Html,我正在通过javascript创建一个表,其中一列将包含html颜色选择器。我遇到的问题是,在Chrome中设置了默认值,但颜色选择器上显示的颜色是黑色的 这就是我正在使用的javascript c = r.insertCell(1); c.setAttribute('class','second'); inp=document.createElement("input"); inp.setAttribute('type','color'); inp.setAttribute('id','co

我正在通过javascript创建一个表,其中一列将包含html颜色选择器。我遇到的问题是,在Chrome中设置了默认值,但颜色选择器上显示的颜色是黑色的

这就是我正在使用的javascript

c = r.insertCell(1);
c.setAttribute('class','second');
inp=document.createElement("input"); 
inp.setAttribute('type','color');
inp.setAttribute('id','colo_'+i);
inp.setAttribute('value','#ffffff');
inp.setAttribute('class','datafield');
inp.addEventListener('change', saveFields);
c.appendChild(inp);
这是从if生成的html




这是一个bug还是我做错了什么?

很有趣。我能够复制您的结果()

不要使用
setAttribute
,而是直接设置

inp.value = '#ffffff';
显然,这让Chrome很高兴。(|)


旁注:通过
setAttribute
设置的所有内容都反映了您可以使用的属性:

inp = document.createElement("input"); 
inp.type = 'color';
inp.id = 'colo_'+i;
inp.value = '#ffffff';
inp.className = 'datafield';
请注意,最后一个是
className
,而不是
class


|

有一天它可能会对某人有所帮助,所以我就把它放在这里: 输入颜色的值似乎只适用于十六进制值(而不是RGB)-因此,如果您的颜色是RGB-首先将其切换为十六进制