我试图使用jquery来改变元素的边框颜色,当它不是空的。从我查阅的资料来看,一切似乎都是正确的,但我似乎仍然无法使它工作。
这是我的JS小提琴:https://jsfiddle.net/jessica_mather123/ez3tgnvc/1/
HTMLText <input type="text">
<button>Click Me</button>
JQuery $("button").on("click",function(){
if($("[type='text']").val() == null){
$(this).css("border","2px solid red");
}
});
.val()
方法返回一个数组,只有在没有找到匹配项时才返回null
。
所以你应该把if($("[type='text']").val() == null)
改成if($("[type='text']").val() == "")
更新小提琴
- 你没有包含jQuery(参见如何在JSfiddle中添加jQuery)
-
$(this)
在click
里面指的是按钮,而不是输入。所以你最好将其替换为$("input[type='text']")
那么,一个有效的演示应该是这样的https://jsfiddle.net/ez3tgnvc/10/
$("button").on("click",function(){
var input = $("input[type='text']");
if(!input.val()){
input.css("border","2px solid red");
}
});
if(!input.val())
为true。