Javascript getElementById属性具有hypen

Javascript getElementById属性具有hypen,javascript,html,forms,validation,Javascript,Html,Forms,Validation,如果我使用属性“value”,一切正常 但是,当我尝试使用一个属性,它上面有一个炒作“-”,它不再工作 document.getElementById("email").data-error = "Email already exists." 我尝试过类似于['data-error']或“data error”的变体,但我似乎找不到正确的语法。要通过dataset对象获取数据属性,请通过数据后面的属性名称部分获取属性-(注意,破折号转换为camelCase) 在您的情况下,如果要将值设置为数据

如果我使用属性“value”,一切正常

但是,当我尝试使用一个属性,它上面有一个炒作“-”,它不再工作

document.getElementById("email").data-error = "Email already exists."

我尝试过类似于
['data-error']
或“data error”的变体,但我似乎找不到正确的语法。

要通过dataset对象获取数据属性,请通过数据后面的属性名称部分获取属性-(注意,破折号转换为camelCase)

在您的情况下,如果要将值设置为数据属性:

document.getElementById("email").dataset.error = "Email already exists."

来源:

我猜您使用的是文本字段,通过直接调用

document.getElementById("email").value = "Email already exists."
并使用setAttribute

document.getElementById("email").setAttribute("value", "value of text field");
因此,要设置data error的属性值,我们需要将其用作

document.getElementById("email").setAttribute("data-error", "Email already exists.");
而获取属性值的方法是

document.getElementById("email").getAttribute("data-error");

另请参见。您甚至还没有尝试过
setAttribute
?还重复了
document.getElementById("email").getAttribute("data-error");