javascript - jQuery 对对象的伪类 CSS 的修改是如何工作的?

标签 javascript jquery css css-selectors

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/

相关文章:

javascript - 如何让表单在提交之前等待 ajax 完成?

javascript - 置换字符串直到它匹配一些输入?

javascript - 开/关导航面板(页面间缓存)

javascript - Jquery - .prev() 有问题

php - IE 中的 div 列表对齐问题

javascript - kineticjs 将组附加到鼠标

javascript - 更改 iframe url 会更改父窗口 url

javascript - 从两个字符之间的字符串中提取信息

javascript - CSS、express 和 bootstrap : overflow and margin error

html - 如何在小屏幕上正确显示宽表?