jQuery - 有条件的语法错误
$(".editAd").change({
if ($(this).val() == 1)
{
$("#submitBtn").val("Next Step");
}
else
{
$("#submitBtn").val("Submit Changes");
}
});
此代码的第二行有语法错误。缺少:在物业ID后。我发誓这是在有条件的val()的正确使用,但我想我可能是错的...jQuery - 有条件的语法错误
我知道这是一个非常简单的修复,但我找不到任何资源分钟的研究,我希望SO的用户能帮助我。 :)
谢谢!
编辑:开发人员总会犯一个愚蠢的错误,让他们陷入一段时间......总是查看错误的代码的完整性,因为开发人员工具可能实际上没有找到适当的错误行,如在这种情况下。
你忘了包括函数(){}
$(".editAd").change(function(){
if ($(this).val() == 1)
{
$("#submitBtn").val() = "Next Step";
console.log($("#submitBtn").val());
}
else
{
(element.attr("name") == "submitBtn").val() = "Submit Changes"; // no idea what this is but it doesn't look like it will work
}
});
val()
是功能执行。
设定值做类似
$('selector').val('set me');
不
$('selector').val() = 'set me';
从那里开始。其他事情可能会清理。
我没有试图设置一个值...我试图对选择器的值执行等同性测试。因此,双等于。 – TaylorPLM
然后这是什么'$(“#submitBtn”)。val()=“Next Step”;' – hvgotcodes
and this'(element.attr(“name”)==“submitBtn”).val()=“Submit Changes “;' – hvgotcodes
Missing : after property ID
这是由于条件之前缺少function()
标识符引起的。因为它被放在括号内{}
javascript分析器认为你传递了一个对象字面值作为属性标识符if
。之后它正在寻找冒号来识别房产的价值。
不知道你正试图在这一行做:
(element.attr("name") == "submitBtn").val() = "Submit Changes";
但它看起来像你试图调用val
一个布尔值,它是无效的。您也正在给val()
的输出分配一个字符串,这将不起作用。
将值分配给一个元素,jQuery的val需要一个参数:
element.val("Submit Changes");
有许多问题与您的代码。首先,你正在谈论的错误的原因是缺少function
关键字。这是必需的,因为change
方法将函数作为参数。
接下来,您正在为val
方法指定一个值,该方法不正确($("#submitBtn").val() = "Next Step";
)。您需要将该字符串作为参数传递。
三,你的else
块很混乱。我不确定你在那里试图做什么,但它会评估为true.val() = "Submit Changes";
这是完全错误的。这是另一个函数赋值,你试图在布尔值上调用该函数,而不是jQuery对象。
因此,基于这一切,这是我认为你试图做:
$(".editAd").change(function(){
if ($(this).val() == 1) {
$("#submitBtn").val("Next Step");
console.log($("#submitBtn").val());
}
else {
if($(element).attr("name") == "submitBtn") {
$(element).val("Submit Changes");
}
}
});
尝试分配'$(本).VAL()'给一个变量之前,如果和比较一下。走着瞧吧。 – Eonasdan