检查项目是否为表单元素的最佳方法

时间:2018-02-20 19:21:44

标签: javascript typescript

有没有更简单的方法来写这个?是否存在所有这些共享的共同课程,但不与divaspan等分享。

if(
  el instanceof HTMLInputElement || 
  el instanceof HTMLButtonElement || 
  el instanceof HTMLTextAreaElement
)

也许是这样的:

if(el instance HTMLFormItemElement)

我需要经常使用它,我不想每次都写这个。我唯一能想到的就是把它放在一个函数中,但也许还有另外一种方法吗?

如果您将此作为函数编写,则会出现可能的错误:

  

财产'价值'类型'元素'上不存在。

1 个答案:

答案 0 :(得分:2)

您可以编写一个函数(如您所述),也可以检查元素中的“form”属性是否显示为非空。 示例:HTMLInputElement具有“表单”属性,如docs

中所述

“form(只读:HTMLFormElement对象):返回对父表单元素的引用。”