首页 > 解决方案 > 如果 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")

提前感谢您的任何回答。

标签: javascripthtml

解决方案


如果未为输入元素提供默认类型值,则为“文本”。您可以通过以下方式访问它:

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'/>


推荐阅读