我正在使用innerHTML
属性中的一个参数调用函数,但没有显示任何内容,这是我的代码:
var myVar="Ali";
summaryPanel.innerHTML += "<a href='javascript:sayHello("+ myVar+");'>" + "Say Hello" + "</a>";
function sayHello(myVar)
{
window.alert(myVar);
}
答案 0 :(得分:4)
试试这个:
var a = document.createElement('a');
a.appendChild(document.createTextNode('Click me'));
a.addEventListener('click', function() {
sayHello(myVar);
}, false);
summaryPanel.appendChild(a);
一些注意事项:
myVar
的情况)。这种做法容易受到html注入。htmlElement.innerHTML += something
。这将删除添加到htmlElement
答案 1 :(得分:0)
要在href中使用带有参数的函数,您需要转义双引号,请参考以下语法。
return "<a hreg ='javascript:void(0)' onclick='showErrorPopup(\""+message+"\")'>"+value+"</a>";
function showErrorPopup(message){
alert(message);
}
我曾经使用\来转义双引号
答案 2 :(得分:-1)
试试这个
var myVar = "Ali";
summaryPanel.innerHTML += "<a href='javascript:void(0)' onclick='sayHello("+myVar+")' />";
function sayHello(param){
windows.alert(param);
}