2

对于其他浏览器,只需设置即可#input-element { color: red; }为输入的占位符文本 ( <input type="text" placeholder="foo" />) 着色。

但是,iOS 上并非如此;这需要以下内容(也许更合适,但仍然):

#input-element::-webkit-input-placeholder { color: red; }

好吧,那没问题。但是,我正在尝试使用 jQuery 来做到这一点,但没有取得多大成功。我尝试了以下方法:

$("#input-element::-webkit-input-placeholder").css('color', 'red');
$("#input-element").css('::-webkit-input-placeholder', 'color: red'); // not according to .css documentation: I'm aware

然而,这些都没有任何改变。我试图避免将 ($(head).append("<style>..");样式直接附加到文档中。

如何通过 jQuery 更改输入的占位符样式属性——保持 iOS 兼容性?

4

1 回答 1

1

为什么不直接切换 CSS 类?

CSS:

input[type=text]::-webkit-input-placeholder { color: red; }

.blue-pl::-webkit-input-placeholder {
    color: blue !important;
}

JavaScript:

$('#input-element').click(function(){$(this).addClass('blue-pl'); });

这适用于我的 iOS 6 iPhone。

jsFiddle 演示

于 2012-12-17T11:09:45.087 回答