Javascript给出了“invalidcharactererror”

时间:2013-11-26 15:44:42

标签: javascript

下面的Javascript代码的最后一行给了我InvalidCharacterError,我无法弄清楚原因:

var iCounter=0;
var calendarText = document.createElement("input");
calendarText.setAttribute("SetAttribute(" + iCounter + ")", "onkeyup");

有人可以说出原因吗?

2 个答案:

答案 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)