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

错误:属性“value”在类型“HTMLDivElement”上不存在?Typecript找不到我的div?

卫博雅
2023-03-14

学习Typescript并尝试构建一个简单的文本框,在提交文本后显示文本。

我能够很好地捕捉输入,现在试图将其报告给用户。

问题出在编译类型上。脚本给出了以下错误消息:类型“htmldevelment”上不存在属性“value”。

我只是想分配div messageList的值来打印数组(现在还不关心格式)。

我一直在网上搜索,我能找到的大部分都说一定是命名错误,我尝试将名称更改为1,但仍然没有乐趣。

尝试在演员阵容中使用通用HTML元素,但没有乐趣。

TS代码:

let messages = [];

class Message {
  content: string;
  constructor(
    public message: string
  ){
    this.message = message
  }
}

function post(message: string){
  var text = (<HTMLInputElement>document.getElementById("messageInput")).value;
  const newPost = new Message(text)
  messages.push(newPost.message)
  console.log(messages)
  this.report(newPost)
}

function report(message: Message){
  (<HTMLDivElement>document.getElementById("messageList")).value = messages
}

HTML:

<!DOCTYPE html>
<html>
<head>
  <title>Typescript Messages</title>
</head>
  <body>
    <textarea id="messageInput" type="text" name="message" rows="15" cols="40"></textarea>
    <button id="submitButton" type="submit" value="submit" onclick="post()">Post</button>
    <div id="messageList" value="">Hello rubhy</div>
    <script src="message.js"></script>
  </body>
</html>

任何帮助都将不胜感激谢谢

共有1个答案

张兴旺
2023-03-14
function report(message: Message){
  (<HTMLDivElement>document.getElementById("messageList")).value = messages
}

您需要像在post函数中使用text一样将其转换为HTMLInputElement:

function report(message: Message){
  (<HTMLInputElement>document.getElementById("messageList")).value = messages
}

HtmlLevel类型没有属性,因此会出现该错误。

编辑:我刚刚看到消息列表是一个

https://www.w3schools.com/tags/att_data-.asp

 类似资料:
  • 我正在使用typescript,并试图创建一个脚本,当文本输入到输入框中时,该脚本将更新p元素。 然而,编译器确实输出了一个javascript文件,这在Chrome中工作得很好。 我怎么会有这个错误?那我该怎么修呢? 另外,根据TypeScript,在哪里可以查找上哪些属性是有效的? 请注意,我对javascript和typescript非常陌生,所以我可能会遗漏一些显而易见的东西。:)

  • 在尝试创建一对多(以及多对一)关系时,我遇到以下错误: 以下是完整的故事。目前在这些课程中,我有以下几点: LoginUser.java 用户角色。JAVA 用户角色存储。JAVA 开始atabase.java 我得到的全部错误是: 我不完全确定在哪里或为什么它试图找到一个属性的id时,我显然已经设置了所有类型的UserRole。

  • 问题内容: 由于React 16现在允许自定义DOM属性,因此我尝试在Typescript代码中利用它: 但收到以下错误消息: 错误TS2339:类型’DetailedHTMLProps ,HTMLDivElement>‘不存在属性’size’。 这个线程建议做一个,所以我尝试了这种方式: 同样的错误信息。 最后,我还尝试声明为新的HTML标签: 它消除了错误消息,但是该属性在编译后的代码中被完全

  • 我已将TS添加到我的React/Redux应用程序中。 我在我的应用程序中使用对象,如下所示: TS抛出一个错误: 类型脚本错误:类型“窗口”上不存在属性“FB”。TS2339 我想修正这个错误。 我在这里找到了答案https://stackoverflow.com/a/56402425/1114926 为什么第一个版本不起作用,而第二个版本起作用,尽管我根本没有指定FB属性?

  • 问题内容: 我尝试从协会ManyToMany中调出数据,但是我不能,这是我的代码。 实体产品: 实体终端: 类别:模块JPADao 类别:ModuleService main-flow.xml file.xhtml 我无法获得几何的价值;我得到这个错误: 问题答案: javax.el.PropertyNotFoundException:在类型org.hibernate.collection.int