带有HTML标记的Javascript内部HTML
我正在为学校做一个项目,我想创建一个javscript函数,该函数使用onclick方法将文本添加到html元素中,该方法将运行一个函数带有HTML标记的Javascript内部HTML,javascript,html,Javascript,Html,我正在为学校做一个项目,我想创建一个javscript函数,该函数使用onclick方法将文本添加到html元素中,该方法将运行一个函数 function a(func, words){ var initfunc = "<span class = 'link' onclick='" + String(func) +"();'>" + words + "</span>"; return t.innerHTML += initfunc
function a(func, words){
var initfunc = "<span class = 'link' onclick='" + String(func) +"();'>" +
words + "</span>";
return t.innerHTML += initfunc;
}
函数a(函数,单词){
var initfunc=”“+
字数+“”;
返回t.innerHTML+=initfunc;
}
问题是,当使用此函数运行页面时,显示的html具有作为字符串一部分的标记,而不是作为html标记。string(func)
不会给出函数的名称
为此,您可以使用ES6草案中定义的,但只有当函数是全局函数时,它才会起作用
如果要添加事件侦听器,最好使用DOM方法:
function a(func, words){
var span = document.createElement('span');
span.className = 'link';
span.onclick = func;
span.appendChild(document.createTextNode(words));
t.appendChild(span);
}