Javascript If/Else jQuery:Else语句不工作

Javascript If/Else jQuery:Else语句不工作,javascript,jquery,Javascript,Jquery,此jQuery代码中的else语句不起作用。我曾尝试将if/else语句放入函数中(通过Stackoverflow进行解析后),但一直无法实现。你对什么是问题有什么想法吗?这是语法错误吗 这是一个例子 jQuery $( "button" ).click(function() { myAnswer(); }); $( "input" ).change(function() { myAnswer(); }); function myAnswer () {

此jQuery代码中的else语句不起作用。我曾尝试将if/else语句放入函数中(通过Stackoverflow进行解析后),但一直无法实现。你对什么是问题有什么想法吗?这是语法错误吗

这是一个例子

jQuery

$( "button" ).click(function() {
    myAnswer();
  });

 $( "input" ).change(function() {
    myAnswer();
 });     

function myAnswer () {
    $(".pick").removeClass('my-display').addClass('my-no-display');
    var myPick = $("input").val();
    function myFinalAnswer () {
        if (myPick == "ram","mary","jon","shyam","shannon","tate","quy","sanjay") {
            var myString = "." + myPick; 
            var myFinalPick = myString.toLowerCase();
            $( myFinalPick).removeClass('my-no-display').addClass('my-display'); 
        }
        else {
            $(".none").removeClass('my-no-display').addClass('my-display');
        }
    }
    myFinalAnswer();
}
HTML

<div class="container">
<div class="row">
    <div class="col-xs-12 top-line">
        <h2>Who will win the Game of Thrones?</h2>
    </div>
</div>
<div class="row">
    <div class="col-xs-12 my-choices">
        <p>Ram, Jon, Shyam, Shannon, Tate, Quy, Mary, or Sanjay?</p>
    </div>
</div>
<div class="row">
    <div class="col-xs-8 my-input">
        <input type="text" onfocus="if(this.value == 'Take your best guess!') { this.value = ''; }" placeholder="Take your best guess!" />
    </div>
    <div class="col-xs-4 my-button">
        <button class="submit-button">
            Submit
        </button>   
    </div>
</div>      
<div class="row">
    <div class="col-xs-12 my-answer">
       <span class="mary pick my-no-display">We all love the walk of shame.</span>
        <span class="jon pick my-no-display">Isn't he too busy with tindr?</span>
        <span class="shyam pick my-no-display">We always knew his fingers were little.</span>
        <span class="shannon pick my-no-display">Because that's where a Khaleesi belongs.</span>
        <span class="tate pick my-no-display">Ramsey? Ewww.</span>
        <span class="quy pick my-no-display">What she said.</span>
        <span class="ram pick my-no-display">So into it!</span>
        <span class="sanjay pick my-no-display">Another Lannister?</span>
        <span class="none pick my-no-display">This is a terrible idea.</span>
    </div>          
</div>
</div>

谁将赢得权力的游戏?
Ram,Jon,Shyam,Shannon,Tate,Quy,Mary,还是Sanjay

提交 我们都喜欢羞耻之路。 他是不是太忙了? 我们一直知道他的手指很小。 因为那是哈利西人的地盘。 拉姆齐?EWW。 她说了什么。 好吧! 另一个兰尼斯特? 这是个糟糕的主意。
将您的
if
语句更改为

if (["ram","mary","jon","shyam","shannon","tate","quy","sanjay"].indexOf(myPick) > -1)
if
语句中多次应用同一条件不起作用,请使用逗号分隔。在这种情况下,可以使用
indexOf
,如果数组中不存在
-1
,它将返回
-1

$(“按钮”)。单击(函数(){
我的答案();
});
$(“输入”).change(函数(){
我的答案();
});
函数myAnswer(){
$(“.pick”).removeClass('my-display').addClass('my-no-display');
var myPick=$(“输入”).val();
函数myFinalAnswer(){
如果([“ram”、“mary”、“jon”、“shyam”、“shannon”、“tate”、“quy”、“sanjay”)。索引(myPick)>-1){
var myString=“.”+myPick;
var myFinalPick=myString.toLowerCase();
$(myFinalPick).removeClass('my-no-display').addClass('my-display');
}否则{
警惕(“你好,其他人。”);
$(.none”).removeClass('my-no-display').addClass('my-display');
};
}
myFinalAnswer();
}
正文{
字体大小:16px;
}
输入{
高度:40px;
宽度:100%;
左侧填充:10px;
颜色:灰色;
左边距:13px;
}
.顶线{
文本对齐:居中;
}
.我的选择{
文本对齐:居中;
边缘底部:5px;
}
.我的意见{
文本对齐:居中;
}
1.我的回答{
填充:10px;
边框:1px纯红;
边界半径:5px;
利润率:8px 27px;
宽度:91%;
高度:150像素;
线高:1.7;
背景色:黑色;
颜色:白色;
字号:600;
}
1.我的回答{
文本对齐:居中;
}
.我的钮扣{
文本对齐:居中;
线高:2;
}
.提交按钮{
填充:3x12px;
边缘底部:0px;
字体大小:16px;
线高:26px;
字体系列:#A52A2A;
字号:700;
文本转换:大写;
颜色:白色;
背景:红色;
光标:指针;
文本对齐:居中;
垂直对齐:中间对齐;
盒影:0px 2px 0px#666;
边界半径:5px;
边界:无;
宽度:80%;
}
.我的显示器{
显示:内联;
}
.我没有显示器{
显示:无;
}

谁将赢得权力的游戏?
Ram,Jon,Shyam,Shannon,Tate,Quy,Mary,还是Sanjay

提交 我们都喜欢羞耻之路。 他是不是太忙了? 我们一直知道他的手指很小。 因为那是哈利西人的地盘。 拉姆齐?EWW。 她说了什么。 好吧! 另一个兰尼斯特? 这是个糟糕的主意。
使用jQuery,您可以使用函数检查给定数组中是否有值,例如:

var myArray = ["ram","mary","jon","shyam","shannon","tate","quy","sanjay"];

if ($.inArray(myPick, myArray))
{
 // .. code 
}

我真的不明白你想用这句话做什么:

if (myPick == "ram","mary","jon","shyam","shannon","tate","quy","sanjay")
我想应该是:

if (myPick === "ram" || myPick === "mary" || myPick === "jon" || myPick === "shyam" || myPick === "shannon" || myPick === "tate" || myPick === "quy" || myPick === "sanjay")

除非这是一个我没有听说过的新ES6语句,否则我不认为myPick==“ram”、“mary”、“jon”、“shyam”、“shannon”、“tate”、“quy”、“sanjay”
会按照你的想法去做。if/else正在做它应该做的事情。是你的语法错了。非常感谢。这肯定是语法,我修正了它@玛丽,别忘了点击答案旁边的复选标记,将答案(即使不是我的)标记为已接受