JavaScript代碼的最後一行列出了我一個InvalidCharacterError
,我想不通爲什麼:的Javascript給`invalidcharactererror`
var iCounter=0;
var calendarText = document.createElement("input");
calendarText.setAttribute("SetAttribute(" + iCounter + ")", "onkeyup");
誰能告訴爲什麼?
JavaScript代碼的最後一行列出了我一個InvalidCharacterError
,我想不通爲什麼:的Javascript給`invalidcharactererror`
var iCounter=0;
var calendarText = document.createElement("input");
calendarText.setAttribute("SetAttribute(" + iCounter + ")", "onkeyup");
誰能告訴爲什麼?
屬性名稱不能包含(
或)
。您可以將其更改爲
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);
};
它應該是
var iCounter=0;
var calendarText = document.createElement("input");
calendarText.setAttribute("onkeyup", "SetAttribute(" + iCounter + ")");
的setAttribute方法的第二個參數是該屬性的值(其是第一個)
elementNode.setAttribute(name,value)
抓住了參數順序! –
DO NOT使用SETATTRIBUTE添加事件。 https://developer.mozilla.org/en-US/docs/Web/API/EventTarget.addEventListener – epascarello