在此上下文中,如何将变量传递给函数?(对于点击事件)

How do I pass a variable to a function in this context? (for an onclickevent)

本文关键字:函数 事件 于点击 上下文 变量      更新时间:2023-09-26
function check(child) { 
    var y = "<span onclick=remove(" + child + ") onmouseover='hove(this)'>x</span>";
    child = child + " " + y;
    send = '<span  class="elements" >' + child + '</span>' ;
 }
 function remove(child) {
    // some of mycode;
 }

这是我拥有的 2 个功能。 child是一个从一个函数传递给 check(( 函数的变量,我再次尝试传递这个子值以删除函数,添加到 span 标签的 onclick 事件中,但它似乎不起作用。我无法摆脱这种情况。

我想将 onclick 事件添加到 span 标签中,它应该传递子值以删除函数。

删除"发送"。直接分配给 innerHTML:

document.getElementById(divid).innerHTML = '<span  class="elements" >' + child + '</span>' ;

编辑:

我猜你的最终目标是有一个看起来像这样的span标签?

<span class="elements" >
    ABC <span onclick="remove('ABC')" onmouseover='hove(this)'>x</span>
</span>

那么代码可能是:

function check(child) { 
    var y = "<span onclick='"remove('" + child + "')'"" onmouseover='hove(this)'>x</span>";
    child = child + " " + y;
    send = '<span  class="elements" >' + child + '</span>' ;

}

根据child是什么,您可能需要在它周围加上引号:

var y = "<span onclick=remove('" + child + "')

此外,您不能将元素的内部 HTML 保存到变量,然后赋值到变量上。 你所做的只是写变量,而不是实际的innerHTML。 所以改变这个:

var send = document.getElementById(divid).innerHTML;
send = '<span  class="elements" >' + child + '</span>' ;

document.getElementById(divid).innerHTML = 
    '<span  class="elements" >' + child + '</span>';