我想检查输入元素是复选框还是文本类型。
我知道我可以这样做:
//Type of input..
if ( input.type === "checkbox" )
//Contains the property..
if ( "checked" in input )
但我的问题是:为什么hasOwnProperty
返回 false?
我只想使用:
input.hasOwnProperty("checked")
但它每次都返回false。
不是input
对象吗?
我不这么认为,但typeof
说是:
typeof input // returns "object"
那么发生了什么?!
代码示例:
const input = document.querySelector("input")
if ( input instanceof HTMLInputElement ) {
console.dir(input);
console.info(typeof input);
console.log("with 'hasOwnProperty'",input.hasOwnProperty("checked"));
console.log("with 'in'","checked" in input);
console.log("with 'type'",input.type === "checkbox");
}
<input type="checkbox" />
关于 HTMLInputElement 的文档,只有类型 checkbox 具有以下属性checked
: