Javascript 如何使用jQuery删除焦点上的输入占位符文本?

Javascript 如何使用jQuery删除焦点上的输入占位符文本?,javascript,jquery,html,css,Javascript,Jquery,Html,Css,这是我的HTML: <div class="testimonial-form__field testimonial-form__company-name"> <span class="wpcf7-form-control-wrap company-name"> <input type="text" name="company-name"> </span> ::after </div> 这就是我对

这是我的HTML:

<div class="testimonial-form__field testimonial-form__company-name">
    <span class="wpcf7-form-control-wrap company-name">
        <input type="text" name="company-name">
    </span>
    ::after
</div>

这就是我对JS的了解程度。我知道我需要从选择输入开始,然后在伪元素上应用隐藏来结束。我只是不知道如何编写该函数。

我建议您只需在input focus中向.essential-form\uuu company-name div元素添加一个类即可。发生这种情况时,只需添加一个CSS类来隐藏::after psuedo元素

退房:


.推荐表公司名称::之后{
内容:“没有重点”;
显示:块;
}
.ESTIONAL-form_u_company-name.active::after{
显示:无;
}
输入:
$('.commential-form__company-name input')。焦点(函数(){
$(this).closest('.commential-form__-company-name').addClass('active');
}).blur(函数(){
$(this).closest('.commential-form__-company-name').removeClass('active');
});

伪元素
::在可能从css生成
之后,您应该研究css,而不是JQUERI,我已经尝试过了。据我所知,无法在输入上使用::focus状态,也无法使用CSS遍历DOM,因为父选择器不存在。您可以侦听输入上的“focus”事件,遍历父级并切换与某些CSS对应的类,如
。someClass:after{content:none;}
这正是我想要的。谢谢
$('.testimonial-form__field input').css( "display", "none" );
<style>
  .testimonial-form__company-name::after {
    content: "not focused";
    display: block;
  }
  .testimonial-form__company-name.active::after {
    display: none;
  }
</style>

<div class="testimonial-form__field testimonial-form__company-name">
  <span class="wpcf7-form-control-wrap company-name">
     Input: <input type="text" name="company-name">
   </span>
</div>

<script>
  $('.testimonial-form__company-name input').focus(function () {
    $(this).closest('.testimonial-form__company-name').addClass('active');
  }).blur(function () {
    $(this).closest('.testimonial-form__company-name').removeClass('active');
  });
</script>