Javascript If/Else jQuery:Else语句不工作
此jQuery代码中的else语句不起作用。我曾尝试将if/else语句放入函数中(通过Stackoverflow进行解析后),但一直无法实现。你对什么是问题有什么想法吗?这是语法错误吗 这是一个例子 jQueryJavascript If/Else jQuery:Else语句不工作,javascript,jquery,Javascript,Jquery,此jQuery代码中的else语句不起作用。我曾尝试将if/else语句放入函数中(通过Stackoverflow进行解析后),但一直无法实现。你对什么是问题有什么想法吗?这是语法错误吗 这是一个例子 jQuery $( "button" ).click(function() { myAnswer(); }); $( "input" ).change(function() { myAnswer(); }); function myAnswer () {
$( "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正在做它应该做的事情。是你的语法错了。非常感谢。这肯定是语法,我修正了它@玛丽,别忘了点击答案旁边的复选标记,将答案(即使不是我的)标记为已接受