jQuery修改对象的伪类CSS是如何工作的?
它是否通过 DOM Level 2's insertRule 操作样式表?方法?
我问这个问题的原因是我正在尝试使用 jQuery 修改元素的 :hover
CSS 属性,但它并没有发生:
$("input.generated-button:hover").css("background-image", "-moz-linear-gradient(top, red, blue)")
不过,如果我自己使用 insertRule
,它会起作用:
document.styleSheets[0].insertRule("input.generated-button:hover" { background-image: -moz-linear-gradiant(top, green, blue); }", 0);
最佳答案
正如@J-P 指出的那样,jQuery 在代码运行时在文档中找到具有给定选择器的元素。由于在代码运行时没有任何具有 :hover
伪类的元素,因此它无法找到要将 CSS 应用到的任何内容。
实际上,jQuery 不支持 :hover
或任何其他仅在特定情况下存在的 CSS 类。
我可能可以用 live
做点什么,但这会破坏目的。
关于javascript - jQuery 对对象的伪类 CSS 的修改是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7219558/