我有以下html:
<label for="bottlePrice">Desired Price </label>
<input type=number class="bottlePrice required" name="bottlePrice" placeholder="$0.00">
<label for="containers">Containers </label>
<input type=number class="containers required" name="containers">
<label for="servings">Servings per Container </label>
<input type=number class="servings required" name="servings">
我试图将这些输入框变为红色,如果它们留空以及以下jquery:
$(".bottlePrice, .containers, .servings").blur(function() {
if ($(this).val ==="") {
$(this).addClass("redClass");
}
其中.redClass是一个CSS片段:
.redClass {
background-color: #CDC9C9;
}
但是,这并没有产生预期的效果。我已经尝试使用完全相同的代码在其他输入字段上,它工作正常,所以我不知道为什么这个例子是空的。
JSFiddle说我的javascript很好。
答案 0 :(得分:11)
$(this).val
应为$(this).val()
答案 1 :(得分:3)
只需将(this).val
更改为(this).val()
$(".bottlePrice, .containers, .servings").blur(function() {
if ($(this).val() ==="") {
$(this).addClass("redClass");
}
答案 2 :(得分:2)
替换
$(this).val
带
$(this).val()
它应该有效。这是因为在jQuery中获取我们使用的值
$(本).VAL()