javascript - 如果 Javascript 中的属性未设置或错误,则获取默认值
问题描述
我想知道是否有办法获取尚未设置的属性的默认值。
例如在这个简单的片段中:
let inputs = document.querySelectorAll('input');
inputs.forEach(function(elm){
console.log(elm.getAttribute('type'));
});
<input />
<input type='integer'/><!-- This one is invalid -->
<input type='number'/>
<input type='submit'/>
…结果是第一个为“null”,第二个为“integer”。
我们都知道,如果没有type
明确定义的属性(或无效的属性,如我的代码片段),input
默认情况下会将input type="text"
. 但是,有没有办法显示呢?
我的意思是......是否有任何函数会返回“文本”而不是“空”或错误值?
可以这样使用的东西:input.getAttributeOrDefault("type")
?
提前感谢您的任何回答。
解决方案
如果未为输入元素提供默认类型值,则为“文本”。您可以通过以下方式访问它:
let input = document.querySelector('input');
console.log(input.type);
<input />
-- 编辑 -- 注意整数不是一个有效的类型,所以它会回退到文本
let inputs = document.querySelectorAll('input');
inputs.forEach(function(elm){
console.log(elm.type);
});
<input />
<input type='integer'/>
<input type='number'/>
<input type='submit'/>