0

関数を介していくつかの異なるケースを渡そうとしています

<div id="button1" class="button" onclick="pop(case1)">popup a</div>

そして、関数でさまざまなケースを作成したい

function pop(a){
    if (a='case1') {var mytext = "you pressed the popup case1"; var myclass=a;}
    else if (a='case2'){var mytext = "you pressed the popup case2"; var myclass=a;}
    else if (a='case3'){var mytext = "you pressed the popup case3"; var myclass=a;}

var p1 = document.createElement("div");
    p1.classname =myclass;
    p1.innerHTML=mytext;
    document.body.appendChild(p1);
}

ここに私が作ったフィドルがあります http://jsfiddle.net/alexnode/WqsNJ/1/ 他の場合は適切に条件を作成するにはどうすればよいですか? 現在、常に case1 ポップアップが表示されます。

4

2 に答える 2

1

=問題は、 でチェックするのではなく、 で割り当てていることです。を==に変更してください。===

http://jsfiddle.net/WqsNJ/2/

if (a=='case1') {var mytext = "you pressed the popup case1"; var myclass=a;}
else if (a=='case2'){var mytext = "you pressed the popup case2"; var myclass=a;}
else if (a=='case3'){var mytext = "you pressed the popup case3"; var myclass=a;}
于 2013-06-06T16:23:01.957 に答える
1

JavaScript で文字列を比較するには、等号( )の代わりにis equal to 演算子 ( ==)を使用する必要があります。=

したがって、正しいコードは

function pop(a){
    if (a=='case1') {var mytext = "you pressed the popup case1"; var myclass=a;}
    else if (a=='case2'){var mytext = "you pressed the popup case2"; var myclass=a;}
    else if (a=='case3'){var mytext = "you pressed the popup case3"; var myclass=a;}

var p1 = document.createElement("div");
    p1.classname =myclass;
    p1.innerHTML=mytext;
    document.body.appendChild(p1);
}
于 2013-06-06T16:24:16.240 に答える