2013-07-15 2 views
1

Я пытаюсь определить, является ли выбранный элемент элементом типа input.Как проверить тип элемента?

var element = this.getElement(); 
console(element) => <input type='text' name='input' value ='test'> or something else 

Как проверить, является ли выбранный элемент элементом ввода.

Я искал Google и кто-то сказал, что это может быть

element.is('input'), но он дал мне ошибку говоря is не определено.

Может ли кто-нибудь помочь мне здесь? Большое спасибо!

+3

'.is()' является частью jQuery. Попробуйте 'element.nodeName.toLowerCase() === 'input''. –

+0

Вы также можете использовать метод 'toString()' элемента: 'console (element.toString())' -> '[object HTMLInputElement]' (если 'element' был элементом' input'). – Teemu

+0

утка утка гуся: inp.name && inp.type && inp.value! = Null; это позволяет использовать все входные данные формы, а не только . тип соответствия для конкретных типов ... – dandavis

ответ

4

Если element является узлом DOM, вы можете использовать его nodeName.

var input = document.createElement('input') 
input.nodeName; //returns "INPUT" 

Таким образом, в вашем примере, вы можете проверить, если это вход с использованием element.nodeName === "INPUT"

В качестве альтернативы, вы можете сделать это с помощью JQuery с использованием $(element).is('input') - хотя я не хотел бы использовать JQuery для таких рутинных задач:)

Смежные вопросы