Javascript 更改输入';s占位符';通过jQuery为iOS创建s样式属性

Javascript 更改输入';s占位符';通过jQuery为iOS创建s样式属性,javascript,jquery,ios,css,Javascript,Jquery,Ios,Css,对于其他浏览器,只需设置#input元素{color:red;}即可为输入的占位符文本着色() 但是,iOS上的情况并非如此;这需要以下内容(可能更合适,但仍然): 好的,没问题。然而,我正试图用jQuery实现这一点,但没有取得多少成功。我尝试了以下方法: $("#input-element::-webkit-input-placeholder").css('color', 'red'); $("#input-element").css('::-webkit-input-placeholder

对于其他浏览器,只需设置
#input元素{color:red;}
即可为输入的占位符文本着色(

但是,iOS上的情况并非如此;这需要以下内容(可能更合适,但仍然):

好的,没问题。然而,我正试图用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)。将(“..”;
样式直接附加到文档中


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

为什么不切换CSS类

CSS:

JavaScript:

$('#input-element').click(function(){$(this).addClass('blue-pl'); });
这在我的iOS 6 iPhone上起作用


我不确定这在不附加到头部的情况下是否可行。这基本上与尝试更改样式的
:hover
属性相同。它是一个伪类,不能直接由jQuery的
css
或Javascript的DOM API修改。您可以查看一下这个解决方案:@jValdron这正是OP的功能他们想要的援助avoid@Ian我知道,但正如你所指出的,这可能是唯一的解决方案之一。@jValdron是的,但我猜这是他们已经发现的问题,并且在他们说他们不想使用时引用了这个问题。除非我看到那个问题,否则我决不会想到使用这种技术,但我想那是绝对的别骗我
input[type=text]::-webkit-input-placeholder { color: red; }

.blue-pl::-webkit-input-placeholder {
    color: blue !important;
}
$('#input-element').click(function(){$(this).addClass('blue-pl'); });