Javascript 如何使用当前节点而不是此节点?
JSJavascript 如何使用当前节点而不是此节点?,javascript,Javascript,JS 错误是。appendChild不是函数。当用户单击按钮时,我想调用多个函数,所以我调用了第一个函数,我想在其中添加标记,但我不知道如何从addEventListener传递当前节点来附加此子节点。无论您试图附加到什么,都给它一个id属性,然后 var menuBtn = document.getElementsByClassName('btn-block'); var lenOfMenuBtn = menuBtn.length; for (var i = 0; i < lenOfMe
错误是。appendChild不是函数。当用户单击按钮时,我想调用多个函数,所以我调用了第一个函数,我想在其中添加标记,但我不知道如何从addEventListener传递当前节点来附加此子节点。无论您试图附加到什么,都给它一个id属性,然后
var menuBtn = document.getElementsByClassName('btn-block');
var lenOfMenuBtn = menuBtn.length;
for (var i = 0; i < lenOfMenuBtn; i++) {
menuBtn[i].addEventListener('click',addMenu,false);
}
function addMenu() {
addOkFlag();
//addToCart();
//removeOkFlag();
}
function addOkFlag() {
var elmnt = document.createElement('i');
elmnt.setAttribute('class','glyphicon glyphicon-ok');
this.appendChild(elmnt);
}
..用元素ID替换myElementsId您可以将单击的元素传递给函数
document.getElementsByClassName('myElementsId').appendChild(elmnt);
当从addMenu调用时,您需要在addOkFlag中设置它,当处理程序调用它时,它的this设置为元素,例如,使用call:addOkFlag.callthis。我想应用于多个按钮,所以我使用class而不是idi,我可能应该已经阅读了代码。。但您可能应该解释一下,TooinAddMenu可以使用addOkFlagthis;
var menuBtn = document.getElementsByClassName('btn-block') ;
var lenOfMenuBtn = menuBtn.length ;
for (var i = 0; i < lenOfMenuBtn; i++) {
menuBtn[i].addEventListener('click',addMenu,false) ;
}
function addMenu(e) {
addOkFlag(e.target) ;
// or addOkFlag(this);
}
function addOkFlag(el) {
var elmnt = document.createElement('i');
elmnt.setAttribute('class','glyphicon glyphicon-ok');
el.appendChild(elmnt);
}