我有一个全局变量,我想在jQuery函数中更改其值,如下所示:

var namep ='';

$("#page2").bind('pageshow', function (event , data) {
   var perso = $(this).data("url").split("?")[1];;
   perso_name = perso.replace("perso=","");
   namep=perso_name;
   $("#header h2").text(perso_name);
});

alert(namep);


在我的警报中,我什么也没有,所以我认为namep不会改变。如何更改其价值?

最佳答案

它确实得到了改变;只是您检查得太早了-在更改之前。您应该将警报放在更改了值的handler中:

var namep ='';

$("#page2").bind('pageshow', function (event , data) {
    var perso = $(this).data("url").split("?")[1];;
    perso_name = perso.replace("perso=","");
    namep=perso_name;
    alert(namep);
    $("#header h2").text(perso_name);
});

08-18 03:40