Я хочу проверить, является ли элемент ввода флажком или типом текста.
Я знаю, что могу сделать это:
//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 , флажок только для типа имеет свойство checked
: