当我第一次运行该函数时,任何一种条件都将起作用。但是,当我第二次运行该函数时,“ cute”的新值将不会更改背景图像。
$("#sbmt-button").click(newImage);
function newImage(){
event.preventDefault();
var cute = $("#cute").val();
$("#cute").val(" ");
if (cute == "kittens") {
$("body").attr("class", "kittens");
console.log(cute);
} else if (cute == "puppies"){
$("body").attr("class", "puppies");
console.log(cute);
}
}
http://codepen.io/ElaineM/pen/jbYbwj
最佳答案
您的代码实际上有效,但是唯一的事情是您需要使用$("#cute").val("");
而不是$("#cute").val(" ");
,这会放置一个空格并且与值不匹配。
另外,您可以尝试通过以下方式进行比较:修剪空白处:
function newImage(){
event.preventDefault();
var cute = $("#cute").val().trim();
$("#cute").val(" ");
if (cute == "kittens") {
$("body").attr("class", "kittens");
console.log(cute);
} else if (cute == "puppies"){
$("body").attr("class", "puppies");
console.log(cute);
}
}