我声明了一个变量:
var recent;
我编写了一个需要传递给它的变量的函数。但是,我相信正在发生的变量是作为字符串传递的。 var由thisVar
:
function detachVariable(thisDiv, thisVar, fileName) {
//Check if this section is visible:
if($(thisDiv + " li").length > 0) {
$(thisDiv).prepend(thisVar);
} else {
//If variable does not have content stored, store it:
if(thisVar === undefined) {
$("#site-nav li a").parents().removeClass("nav-active");
$(this).addClass("nav-active");
$(thisDiv + " ul.top-level").load('assets/includes/' + thisFile, function () {
$(this).show().siblings().hide();
ajaxAudioController();
});
//If variable has content, show it:
} else {
$("#site-nav li a").parents().removeClass("nav-active");
$(this).addClass("nav-active");
$(thisDiv).prepend(thisVar);
}
}
}
我的点击功能:
$("#site-nav .nav1").on("click", function (event) {
detachVariable("#recent", "recent", "recent.php");
event.preventDefault();
});
有没有办法可以将变量传递给函数?
答案 0 :(得分:4)
如果我理解正确的话......您只需删除recent
周围的引号..见下文,
detachVariable("#recent", recent, "recent.php"); //removed quotes
答案 1 :(得分:1)
只是省略第二个参数周围的引号。有了它们,你确实传递了一个字符串文字而不是变量。
答案 2 :(得分:0)
Javascript中的变量具有全局范围。因此,您可以使用recent == whatever
而不是尝试将其作为参数传递。