这是我的代码,
var baseurl = "https://localhost:8888/files/";
var mydiv = document.getElementById("myDiv");
var aTag = document.createElement('a');
aTag.setAttribute('href',"#");
aTag.setAttribute('onclick',"getFolderList(" + baseurl + ")");
aTag.innerHTML = "Home /";
mydiv.appendChild(aTag);
这里,getFolderList是接受一个参数的JavaScript函数。我使用了上面的代码,但它没有调用该函数。如何将“baseurl”值传递给getFolderList函数?
答案 0 :(得分:3)
您忘记包含引号:
aTag.setAttribute('onclick',"getFolderList('" + baseurl + "')");
^ ^
您编写它的方式,引擎会将https://localhost:8888/files/
视为变量名称,这当然会导致语法错误。
最后,你应该避免在HTML属性中编写这样的代码 - 如果baseurl
来自外部源,它可能导致脚本注入攻击。请改用事件侦听器语法:
aTag.addEventListener("click", function() {
getFolderList(baseurl);
});