无法创建输入元素并添加数据集:无法设置undefined的属性

时间:2017-06-19 14:49:34

标签: javascript

我正在尝试简单地创建输入并添加数据集字段。我收到上述错误,表明数据集未定义。如何为此输入创建数据集?

  const newInput = document.createElement('input');
  newInput.name = 'email';
  newInput.value = '';
  newInput.dataset.requiredMessage = "Required"

1 个答案:

答案 0 :(得分:1)

已经将其作为评论。这里只是提到答案。 您可以尝试在最后一行之前向代码添加默认值。

newInput.dataset = newInput.dataset || {};

来源MDN

  

HTMLElement.dataset属性允许在读取和写入模式下访问元素上设置的所有自定义数据属性(data- *),无论是在HTML中还是在DOM中。它是DOMString的映射,每个自定义数据属性都有一个条目。

不确定为什么它会在测试用例中出错。在浏览器中,数据集的默认值是上面提到的对象。