当前位置: 首页 > 知识库问答 >
问题:

为什么我们在typescript中使用HTMLInputElement?

曾苗宣
2023-03-14

我们为什么使用:

(document.getElementById("ipv") as HTMLInputElement).value;

而不是:

document.getElementById("ipv").value;

?

共有2个答案

常雅珺
2023-03-14

文档。getElementById()将无法返回特定的元素类型,因为它事先不知道该元素将是什么,因此需要在事实发生后将结果转换为HTMLInputElement,以便可以识别该类的value属性。

晏德佑
2023-03-14

函数getElementById返回类型为HTMLElement的对象。

来自lib。多姆。d、 ts:

 /**
 * Returns a reference to the first object with the specified value of the ID or NAME attribute.
 * @param elementId String that specifies the ID value. Case-insensitive.
 */
getElementById(elementId: string): HTMLElement | null;

HTMLElement类型是DOM的其他标签类型的基本类型。例如,类型HTMLInputElement扩展了HTMLElement并具有类型HTMLElement所没有的属性value

来自lib。多姆。d、 ts:

interface HTMLInputElement extends HTMLElement {
...
/**
 * Returns the value of the data at the cursor's current position.
 */
value: string;
...

由于HTMLInputElement扩展了HTMLElement,下面几行可以编译:

const inputTag = document.getElementById('name-input') as HTMLInputElement;
const value = inputTag.value;
 类似资料:
  • 问题内容: 有什么用的,并在Hibernate?因为我在互联网上发现的每个示例都将数据插入到单个表中,并使用两个不同的类来做到这一点。我的观点是,如果我使用单个表,那么我可以在单个类中映射所有列,那么为什么要使用不同的类。如果我们使用两个不同的表,则存在和hibernate关系。 问题答案: Hibernate 1中有两种对象。Value Object2 。实体 价值对象 是不能独立存在的对象。以

  • 问题内容: 我是一个完整的初学者。 我已阅读了有关解决方案的Google文档。我在互联网上搜索了同样的内容。 但。一切似乎都是技术性的。 据我了解,.Flush有助于在功能出现时立即执行这些功能,而无需将它们捆绑在一起。 我对吗? 如果不是的话,外行人的含义是什么?并请举一个简单的例子。谢谢。 问题答案: 程序员在希望确保在继续之前将先前代码的输出和/或效果写入电子表格时会使用。如果您不这样做,则

  • 问题内容: 有什么用的,并在Hibernate?因为我在互联网上发现的每个示例都是在单个表中插入数据,并使用两个不同的类来完成此操作。我的观点是,如果我使用单个表,那么我可以在单个类中映射所有列,那么为什么要使用不同的类。如果我们使用两个不同的表,则存在和休眠关系。 问题答案: Hibernate 1中有两种类型的对象。Value Object2 。实体 价值对象 是不能独立存在的对象。以为例。如

  • 问题内容: 试图找到AngularJS的一些基本信息,但是AngularJS文档并没有太大帮助。简单地说,我们为什么要使用它? 同样,在约翰·帕帕(John Papa)的Hot Towel模板中,通用模块中有一个自定义函数: 我不明白这是怎么回事。因此,这是几个基本问​​题: 1)怎么办? 2)和之间有什么区别? 问题答案: 怎么办? 正在通过应用程序范围发送事件。该应用程序的任何子级范围都可以使

  • 问题内容: 据我所知,以下两个代码段将达到相同的目的。为什么有块呢? 代码A: 代码B: 问题答案: 如果您未处理的异常被抛出会怎样?(我希望你不会抓到…) 如果从try块内部返回会怎样? 如果catch块引发异常会怎样? 一个代码块确保 无论 您退出该代码块(以几种方式明确地中止整个过程),该代码块都将被执行。这对于确定性清除资源很重要。

  • 问题内容: 为什么我们在Java中使用该方法?(请给出有关内存限制的答案。)这会减少内存使用吗?如果是,那怎么办?这样会减少内存泄漏的影响吗? 问题答案: 除了 不使用克隆外,还实现一个复制构造函数 ,您询问了内存限制。 克隆 的想法是创建克隆对象的精确副本。因此,在最坏的情况下,此后您将使用两倍的内存量。实际上- 少了一点,因为String经常被嵌入并且(通常)不会被克隆。即使由clone方法/