input的type="date"时placeholder不显示,解决方案
步骤如下:
1、使用伪类模拟
input[type="date"]::before {
content: attr(placeholder);
}
做完上面之后,会发现在使用的时候即使选了时间,这个placeholder会依旧存在,所以要使用第2步js控制
2、使用js控制placeholder展示与否,假定该时间选择器id=“time”
let timeItem = document.getElementById("time");
// 获得焦点时去掉placeholder
timeItem.onfocus = function() {
this.removeAttribute("placeholder")
}
// 值发生改变后,如果值为空的话添加placeholder
timeItem.onchange = function() {
if(!this.value){
this.setAttribute("placeholder", "请选择日期");
}
}