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>');

}

私がやりたいのは、クリックすると変数 num_tab の値を変更する href を作成することですが、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 に答える