为什么removeAttr('占位符')jquery函数没有从输入中删除:占位符显示的伪类?

时间:2016-02-19 18:14:22

标签: javascript jquery html css

当我尝试使用removeAttr(&#39;占位符&#39;)从输入元素中删除占位符属性时:占位符显示的伪类不会从和元素中删除,而是会更改输入值的颜色。< / p>

&#13;
&#13;
$(document).ready(function(){
  $('.input-field').removeAttr('placeholder');
});
&#13;
.input-field:placeholder-shown {
  color: #cacaca;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" class="input-field" placeholder="my placeholder">
&#13;
&#13;
&#13;

Code example

2 个答案:

答案 0 :(得分:1)

也许,这应该是支持所有浏览器的解决方案:

$( document ).ready(function() {
   $('.input-field').removeAttr('placeholder').removeClass('input-field');
});

其中.input-field包含您对颜色的引用。

.input-field::-webkit-input-placeholder {
    color: green;
}

答案 1 :(得分:0)

这个CSS解决了我的问题。

.input-field {
  color: #000;
}
:placeholder-shown,
::-webkit-input-placeholder,
::-moz-placeholder,
:-ms-input-placeholder {
	color: #cacaca;
}

https://jsfiddle.net/francisstalin/k8997bLp/3/