0

我有一个全局变量var num_tab=1;,一个创建链接 a href 的函数:

function Addsomething()
{
$("#tout").html("<a style=\""+"margin-left:-20px;"+"\" onClick=\"eval(num_tab=2)\"  href=\""+"#tab1"+"\" data-toggle=\""+"tab"+"\">SELECT</a>");
Bla,Bla..

$("#champ1").append('<li id=\"1\" class="champ" onclick="insertAtCaret(&quot;sousTab'+num_tab+'&quot;);" value=\"1\">1</li>');

}

我想要做的是创建一个href,单击它会更改变量num_tab的值,但是如果您可以看到href位于jquery html()中,这让我对如何为变量赋值感到困惑。我几乎尝试了一切:onClick=\"num_tab=2\"onClick=\""+num_tab+"=2\"

实际上我尝试了一些东西:当我写 onclick='num_tab=2;alert("+num_tab+");' 我仍然得到 num_tab 的初始值,似乎它更像是局部和全局变量的问题,我还无法弄清楚。

4

1 回答 1

1

请不要使用eval(). 它不安全,不适合这项工作。只需为 onclick 分配一个功能:

$("#tout").html("<a onclick='set_num_tab(2)'">);   //fill out the rest of this line

function set_num_tab(value) {
    num_tab = value;
}

这应该让你知道如何去做。顺便说一句,你没有理由不能在这样的 onclick 周围使用单引号。

或者,这将起作用:

$("#tout").html("<a onclick='num_tab=2'">);

但这很混乱。我尽量避免使用内联 JavaScript。

于 2012-10-24T16:32:34.017 回答