下面的Javascript代码的最后一行给了我InvalidCharacterError
,我无法弄清楚原因:
var iCounter=0;
var calendarText = document.createElement("input");
calendarText.setAttribute("SetAttribute(" + iCounter + ")", "onkeyup");
有人可以说出原因吗?
答案 0 :(得分:3)
属性名称不能包含(
或)
。您可以将其更改为
calendarText.setAttribute("SetAttribute_" + iCounter, "onkeyup");
如果您使用自定义属性,请考虑使用data-*
attributes。
如果您只是以错误的顺序传递了参数,我只能首先推荐始终 read the documentation:
element.setAttribute(name, value);
但在这种情况下,你应该learn about the better ways to attach event handlers。例如。
是一种更好的方式calendarText.onkeyup = function() {
SetAttribute(i);
};
答案 1 :(得分:2)
应该是
var iCounter=0;
var calendarText = document.createElement("input");
calendarText.setAttribute("onkeyup", "SetAttribute(" + iCounter + ")");
setAttribute方法的第二个参数是属性的值(第一个)
elementNode.setAttribute(name,value)