通过js给input[type=date]设置日期的奇葩问题?

如题详述: HTML5控件, <input type="date" id="time" value="" />,通过js给表单设置时间并显示,我的写法:

方法一:

document.getElementById('time').setAttribute('value', '2017-11-09');

或者

方法二:

$('#time').val('2017-11-09');

在手机端测试iOS或Android,不是chrome或Safari(因为浏览器都能正常显示)。

方法一竟然不能显示,而方法二却可以显示。这种特性也真是奇葩了,你么碰到过了吗?

阅读 6.8k
2 个回答
document.getElementById('time').value = '2017-11-09';

使用 setAttribute() 修改某些属性值时,可能得不到期望结果,尤其是 XUL 中的 value,这是由于 attribute 指定的是默认值。要访问或修改当前值,应该使用 property 属性。例如,使用 elt.value 代替 elt.setAttribute('value', val)。

https://developer.mozilla.org...

时间写法用 2017/11/24 兼容性更好

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题