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

问题是您正在分配=而不是检查==,将您=的 's 更改为=='s。

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 中比较字符串,您需要使用等于运算符 ( ==)而不是等号 ( =)

所以正确的代码应该是

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 回答