这是我的代码

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函数?

最佳答案

您忘记了引号:

aTag.setAttribute('onclick',"getFolderList('" + baseurl + "')");
                                           ^               ^


编写方式,引擎会将https://localhost:8888/files/作为变量名,这当然会导致语法错误。

最后,您应该避免在HTML属性中编写这样的代码-如果baseurl来自外部资源,则可能导致脚本注入攻击。请改用事件侦听器语法:

aTag.addEventListener("click", function() {
    getFolderList(baseurl);
});

08-08 03:12