我了解实际的html5占位符功能不可用< IE10,但实际的标签属性是否仍然可用?
要创建我自己的自定义占位符,请使用以下脚本:
if(core.isInput(el)) {
el.initValue = str;
el.txtColor = core.dom.css(el, 'color');
var set = function() {
if(el.value == '') {
el.value = el.initValue;
el.style.color = '#BDBAB5';
}
};
set(); //Set the placeholder
core.dom.on(el, 'focus', function() {
if(this.value == this.initValue) {
this.value = '';
this.style.color = this.txtColor;
}
});
core.dom.on(el, 'blur', set);
} else {
console.error('Element is not an input.');
}
不必在元素上手动设置占位符,是否可以执行以下操作:
var inputs = document.getElementsByTagName('input');
for(var i=0; i<inputs.length; i++) {
var input = inputs[i];
if(input.getAttribute('placeholder') != undefined) {
//Set placeholder code
}
}
换句话说,如果我在HTML中设置占位符并且浏览器不支持它们,那么当我使用getAttribute时,该属性是否仍然可用于输入?当我执行input.getAttribute('placeholder')检查时,我设置的属性最初是否可用,或者如果不支持,浏览器会自动删除占位符属性吗?
目前我手动为每个输入添加占位符功能,但我宁愿使用自动onload脚本来完成工作。如果我无法通过检测占位符值来确定输入是否应该有占位符,则它将无效。