Jquery 如果输入字段为空,如何删除css

Jquery 如果输入字段为空,如何删除css,jquery,css,Jquery,Css,如果输入字段中有内容,我会显示一个按钮,这很好。但是,如果我删除了所有的内容,它仍然存在,因为我不确定如何在某种切换上反转该过程。这就是我目前的处境: $(document).ready(function(){ $("#issueField").keydown(function(){ $("#issueTick").css("opacity", "1"); }); }); 我的问题是,是否有一种方法可以切换此选项,以便在输入为空时将不透明度设置回0?尽管

如果输入字段中有内容,我会显示一个按钮,这很好。但是,如果我删除了所有的内容,它仍然存在,因为我不确定如何在某种切换上反转该过程。这就是我目前的处境:

$(document).ready(function(){
    $("#issueField").keydown(function(){
        $("#issueTick").css("opacity", "1");
    });    
});

我的问题是,是否有一种方法可以切换此选项,以便在输入为空时将不透明度设置回0?

尽管我认为有更好的方法来实现这一点,例如,我不知道为什么要使用不透明度而不是显示无/块。这应该适合您:

$(document).ready(function(){
    $("#issueField").keyup(function(){
            if($("#issueField").val()) {
            $("#issueTick").css("opacity", "1");
        } else { 
             $("#issueTick").css("opacity", "0");
        }
    });    
});

请注意,我使用的是keyup,因为我们需要在值更改后截取键。

必须设置模糊事件来检查textbox的值是否为空,以便在模糊后将不透明度返回到0

$(document).ready(function(){
    $("#issueField").keydown(function(){
        $("#issueTick").css("opacity", "1");
    });    
$("#issueField").blur(function(){
if($("#issueField").val()==''){
        $("#issueTick").css("opacity", "0");
}
    });  
});

试试这个

    $(document).ready(function()
    {
      $("#issueField").keydown(function()
      {
         if($('#issueField').val() == "") 
           {
               $("#issueTick").css("opacity", "1");
           }
        else
          {
               $("#issueTick").css("opacity", "0.1");
          }
     })
   });
您可以使用
+$(this).val()
用于CSS不透明度值。这将是0或1,具体取决于输入中是否有文本内容

我还建议听
input
事件,而不是
keyup
事件,因为第一个事件也会通过其他方式触发以更改输入(鼠标、上下文菜单…):

$(文档).ready(函数(){
$(“#issueField”)。在(“输入”,函数()上{
$(“#issueTick”).css(“不透明度”,+!!$(this.val());
}).触发(“输入”);
});


问题勾号
我已经采纳了您关于在不透明度上使用显示方法的建议。最初,它只是在使用显示设置时对我的CSS进行了一点修改,但现在看来还可以。这违背了OP的目的,OP希望在键入时进行更新,包括更新到0。