将 onclick 添加到来自 javascript 的标签
Add onclick to a tag from javascript
我正在从 javascript 创建一个表单。我必须将 onclick 放在 a 标签上,以便在单击时调用方法。我这样做,但它没有出现 onclick。
function remPass() {
var log = document.getElementById("login");
var form = document.createElement('form');
form.method = "post";
form.action = "";
log.appendChild(form);
var input = document.createElement('input');
input.type = "text";
input.name = "username";
input.className = "username";
input.placeholder = "Usuario";
var a = document.createElement('a');
a.className = "bt-enter pink";
a.id = "recordar";
a.href = "#";
a.onclick = "remember()"; //Here is the problem
a.innerHTML = "Recordar contraseña";
form.appendChild(input);
form.appendChild(a);
}
正确的做法是这样
a.onclick = remember; //do like that
var remember = function(){
//remember logic..
};
您需要使用方法,而不是方法的结果或字符串
a.onclick = remember;
别忘了创建
function remember(){
//some code
}
您应该在创建标签时使用 setAttribute
方法来设置标签的属性:
var a = document.createElement('a');
a.setAttribute("class", "bt-enter pink");
a.setAttribute("id", "recordar");
a.setAttribute("href", "#");
a.setAttribute("onclick ", "remember();");
a.innerHTML = "Recordar contraseña";
这是最有效的跨浏览器创建元素的方法。
正确的方法是
a.onclick = remember; //without double quotes
var remember = function(){
//more code here...
};
你应该给出函数类型的东西而不是字符串:
a.onclick = remember;
//....
var remember = function() {
// remember logic
}
我正在从 javascript 创建一个表单。我必须将 onclick 放在 a 标签上,以便在单击时调用方法。我这样做,但它没有出现 onclick。
function remPass() {
var log = document.getElementById("login");
var form = document.createElement('form');
form.method = "post";
form.action = "";
log.appendChild(form);
var input = document.createElement('input');
input.type = "text";
input.name = "username";
input.className = "username";
input.placeholder = "Usuario";
var a = document.createElement('a');
a.className = "bt-enter pink";
a.id = "recordar";
a.href = "#";
a.onclick = "remember()"; //Here is the problem
a.innerHTML = "Recordar contraseña";
form.appendChild(input);
form.appendChild(a);
}
正确的做法是这样
a.onclick = remember; //do like that
var remember = function(){
//remember logic..
};
您需要使用方法,而不是方法的结果或字符串
a.onclick = remember;
别忘了创建
function remember(){
//some code
}
您应该在创建标签时使用 setAttribute
方法来设置标签的属性:
var a = document.createElement('a');
a.setAttribute("class", "bt-enter pink");
a.setAttribute("id", "recordar");
a.setAttribute("href", "#");
a.setAttribute("onclick ", "remember();");
a.innerHTML = "Recordar contraseña";
这是最有效的跨浏览器创建元素的方法。
正确的方法是
a.onclick = remember; //without double quotes
var remember = function(){
//more code here...
};
你应该给出函数类型的东西而不是字符串:
a.onclick = remember;
//....
var remember = function() {
// remember logic
}