我在CSS中设置了::selection
的颜色,所以当你在屏幕上选中文本时,文本的颜色是粉色的。现在我正在尝试在页面加载时通过jQuery覆盖该颜色。看起来应该非常简单。但对我来说并不起作用。
我在CSS中设置了::selection
的颜色,所以当你在屏幕上选中文本时,文本的颜色是粉色的。现在我正在尝试在页面加载时通过jQuery覆盖该颜色。看起来应该非常简单。但对我来说并不起作用。
我曾经遇到过同样的问题,后来偶然看到了这个问题。解决方法就是在文档主体中添加一个带有CSS属性的<style>
标签。
$('<style>
p::selection{
background-color:#000;
}
p::-moz-selection{
background-color:#000;
}</style>').insertAfter('body *:last');
这可能不是最优雅的方法,但至少它能够起作用。
::selection
是 CSS 伪类,不是 jQuery 选择器!
你不能这样做 $('p::selection').css({color: "#3c3"})
并期望改变文本选择的颜色。
$(<selector>)
允许您以灵活的方式使用ID、CSS类、属性等来选择DOM元素。
:hover
、:after
... ::selection
是CSS伪选择器,允许您样式化元素。
尽管jQuery选择器的语法看起来与伪类CSS相同,但它们是不同的。
:hover
...)。jss('p::selection', {
color: '#3c3'
});
::selection
已经从 CSS3 规范中移除,因此请谨慎使用。 - James Allardice