在串联中分配变量

时间:2012-10-24 16:27:55

标签: javascript jquery onclick concatenation

我有一个全局变量var num_tab=1;,一个创建链接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的初始值,看起来它更像是本地和全局变量的问题,我还不知道它。

1 个答案:

答案 0 :(得分: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。