我一直在努力修复这段代码,我看不出有什么问题:
document.getElementById('detail'+num).innerHTML='<a class="dobpicker" href="javascript:NewCal('+s_d+','+ddmmyy+')">'
问题在于href =“javascript ...” s_d是一个定义为
的javascript变量var num = 2;
var s_d = "sname"+num;
var ddmmyy = "ddmmyy";
基本上我需要每次都调用一个带有不同参数的javascript函数。
答案 0 :(得分:6)
使用\'
之类的反斜杠。
document.getElementById('detail'+num).innerHTML=
'<a class="dobpicker" href="javascript:NewCal(\''+s_d+'\',\''+ddmmyy+'\')">'
答案 1 :(得分:1)
由于这是href
属性的值,因此HTML会对其进行编码:
document.getElementById('detail'+num).innerHTML='<a class="dobpicker" href="javascript:NewCal("'+s_d+'","'+ddmmyy+'")">'
或者更好的是不要使用javascript:
协议:
[0,1,2,3,4,5].forEach(function(num) {
var s_r = "sname"+num;
var ddmmyy = "ddmmyy";
var aEl = document.createElement("a");
aEl.className = "dobpicker";
aEl.onclick = function() {
NewCal(s_d, ddmmyy);
}
document.getElementById('detail'+num).appendChild(aEl);
});
答案 2 :(得分:1)
您的.innerHTML
设置正在使用s_d
,但您的变量声明已s_r
。