javascript - 如何解决 setAttribute() 函数中 'boolean' 类型的参数不可分配给 'string' 类型的参数错误

标签 javascript angular typescript

我有一个动态更新 HTML aria-expanded 的函数属性为真或假。但是,当我输入 element作为HTMLElement , 我收到了 Argument of type 'boolean' is not assignable to parameter of type 'string'

  expandEotyDocumentsPanel(element: HTMLElement) {
    this.eotyExpanded = !this.eotyExpanded;
    element.setAttribute('aria-expanded', this.eotyExpanded);
  }

您可能已经注意到,this.eotyExpanded是一个 bool 值。

关于 setAttribute() 的第二个参数,MDN 上的文档说:

A DOMString containing the value to assign to the attribute. Any non-string value specified is converted automatically into a string.



所以我认为提供一个 bool 值就可以了。

我怎样才能抑制这个错误?

谢谢。

最佳答案

元素的属性不能是 bool 值,所以你可能只是把它变成字符串而不是
new Boolean(this.eotyExpanded).toString()

关于javascript - 如何解决 setAttribute() 函数中 'boolean' 类型的参数不可分配给 'string' 类型的参数错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57607524/

相关文章:

javascript - AJAX done() 完成所有请求人员后执行

javascript - 分别使用 jQuery 将 jQuery 悬停应用于多个元素

javascript - jquery 结构 - 每个文件一个函数

javascript - Console.Log(对象编号) - 对象的对象

javascript - 正则表达式不重复特殊字符

html - 我用 id 更改了 css 标签 li 但没有用

javascript - 使用顺序 for 循环解析多链 Promise

javascript - 如何根据另一个下拉菜单选择的条件删除和添加下拉列表值?

html - 如何刷新 Aurelia 中的子组件以撤消表单?

javascript - 我的应用程序找不到从 NPM 注册表下载的 TypeScript 包(未找到模块)