HTML5 输入类型颜色在通过 js 创建时不显示值
HTML5 input type color doesn't show value when created via js
我正在通过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
<输入类型 id="colo_0" 值="#8080ff" 类="数据字段">
输入类型>
这是一个错误还是我做错了什么?
有趣。我能够复制您的结果(示例(。
与其使用 setAttribute
,不如直接设置value
:
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 - 请先将其切换为十六进制。RGB 到十六进制
相关文章:
- 创建具有可变长度幻灯片显示的幻灯片
- 如何创建一个“;表单弹出框“;在chrome中右键单击时位于突出显示的单词上方
- 如何创建一个“;显示更多“;按钮,并指定最初可以显示的文本行数
- 在JavaScript中,如何修复元素显示和变量创建之间的初始差异
- 如何在标题上创建弹出框,当点击关闭按钮时,不使用jquery或php在网站中显示
- 为自定义网站创建JavaScript搜索框,创建显示搜索结果的弹出窗口
- 如何在不使用iframe或库的情况下创建剪切显示窗口区域
- 如何创建multiselect来显示Django中每个选定项的详细信息
- 我如何创建一个动态地图来显示我们公司的位置
- 不显示为表单元素的图像输入按钮的动态创建和appendChild
- 当从jquery的点击事件中的每个循环创建的数组到它之外时,它显示空白数组
- 单击旧列表只显示上次创建的id,应在单击时显示列表id
- 如何在网站上创建仅显示文本的简单弹出窗口
- 传单:如何创建显示所有其他图层的图层组
- jQuery Mobile:动态表单创建显示本机控件与jQuery Mobile插件控件
- 如何使用 D3.js 在带有按钮的一个区域中创建/显示具有相同数据的图表的多次迭代
- 是否可以在不影响相邻元素的情况下创建显示/隐藏内联块
- 创建,显示图像作为背景图像一个接一个- JavaScript
- 在我的例子中,如何创建显示和隐藏元素
- 创建“显示内容”效果的好方法