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

ste*_*307 5 html javascript html5

我正在通过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);
Run Code Online (Sandbox Code Playgroud)

这是从if生成的html

<td class ="second">
<input type ="color"id ="colo_0"value ="#8080ff"class ="datafield">
</ td>

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

T.J*_*der 4

有趣的。我能够复制你的结果(示例)。

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

inp.value = '#ffffff';
Run Code Online (Sandbox Code Playgroud)

显然这让 Chrome 很高兴。(实时复制|来源


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

inp = document.createElement("input"); 
inp.type = 'color';
inp.id = 'colo_'+i;
inp.value = '#ffffff';
inp.className = 'datafield';
Run Code Online (Sandbox Code Playgroud)

请注意,最后一个className不是class

更新的示例| 来源