【发布时间】:2026-02-18 23:45:01
【问题描述】:
对于其他浏览器,只需设置 #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 兼容性?
【问题讨论】:
-
如果不附加到头部,我不确定这是否可行。这与尝试更改样式的
:hover属性基本相同。它是一个伪类,不能通过 jQuery 的css或 Javascript 的 DOM API 直接修改。你可以看看*.com/questions/311052/… -
查看此解决方案:*.com/questions/11394217/…
-
@jValdron 这正是 OP 所说的他们想要避免
-
@Ian 我知道,但正如您所指出的,它可能是唯一的解决方案之一。
-
@jValdron 是的,但我猜这是他们已经发现并在他们说不想使用时引用的问题。除非我看到那个问题,否则我永远不会想到使用这种技术,但我想这就是我
标签: javascript jquery ios css