更改输入的边框颜色,如果空白按钮单击



我试图使用jquery来改变元素的边框颜色,当它不是空的。从我查阅的资料来看,一切似乎都是正确的,但我似乎仍然无法使它工作。

这是我的JS小提琴:https://jsfiddle.net/jessica_mather123/ez3tgnvc/1/

HTML

Text <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");
    }
});
如果输入变量为空、null或未定义,

if(!input.val())为true。

最新更新