[英]How to modify the placeholder color , without affecting the input text color
我有以下jQuery代碼: -
if ($("#Choice").prop("checked"))
$("#Technology").attr("placeholder", "Search by Tag...").css({ "color": "#b2cde0" });
目前占位符將具有已定義的顏色,但輸入文本也將具有已定義的顏色。 雖然我需要chnage占位符顏色,同時保持默認輸入文本顏色?
最好的方法是使用addClass()
到具有預定義占位符供應商前綴屬性的元素:
.someClass ::-webkit-input-placeholder {
color: red;
}
.someClass :-moz-placeholder { /* Firefox 18- */
color: red;
}
.someClass ::-moz-placeholder { /* Firefox 19+ */
color: red;
}
.someClass :-ms-input-placeholder {
color: red;
}
您可以像這樣使用addClass()
:
$( "#Technology" ).addClass( "someClass" );
文檔: http : //api.jquery.com/addclass/
同樣,如果在取消選中#Choice
時需要刪除占位符類,則可以使用removeClass()
刪除上面的CSS類。 [ http://api.jquery.com/removeclass/]
您可以添加一個將占位顏色設置為所需顏色的類。 這樣的事情:
CSS
.pccolor::-webkit-input-placeholder,.pccolor:-moz-placeholder,.pccolor::-moz-placeholder,.pccolor:-ms-input-placeholder{
color: #b2cde0;
}
JS
$("#Technology").addClass('pccolor');
要僅選擇占位符,您必須使用一些新的選擇器:
::-webkit-input-placeholder { /* WebKit browsers */
color: #999;
}
:-moz-placeholder { /* Mozilla Firefox 4 to 18 */
color: #999;
opacity: 1;
}
::-moz-placeholder { /* Mozilla Firefox 19+ */
color: #999;
opacity: 1;
}
:-ms-input-placeholder { /* Internet Explorer 10+ */
color: #999;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.