1

然而,我已经能够编辑 CSS 变量,document.documentElement.style.setProperty("--text-color", "#333")但我无法用 jQuery 重现这一点,.css()原型似乎只适用于已知的 CSS 属性。

这是上述 CSS 变量的示例 CSS。

:root {
  --text-color: #888;
}

div {
  color: var(--text-color);
}
4

1 回答 1

6

自 2017 年 3 月 16 日起,对自定义属性的支持已在jQuery 3.2.0 及更高版本中提供。没有计划将此功能向后移植到 2.x 或更早版本,因此如果您出于维护原因需要使用旧版本的 jQuery,则需要继续使用内置style对象来访问您的自定义属性。


jQuery 还不支持自定义属性。有一个尚未审核的拉取请求(但根据最近的评论,似乎计划在即将发布的版本中使用)。虽然优先级并不高,因为自定义属性仍然是一个相当新的功能,它们的性质使得为原生支持它们的浏览器开发一个包装器,为不支持它们的浏览器在 JavaScript 中重新实现它们,测试该功能以制作确保在不破坏其他 jQuery 功能以及现有网站的情况下一切正常,这是一项艰巨的任务。

于 2017-01-01T03:35:40.253 回答