使用 jQuery 编辑 CSS 变量的最简单方法是什么?

What is the simplest way to edit CSS variables with jQuery?

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

下面是上述 CSS 变量的示例 CSS。

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

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

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


jQuery 尚不支持自定义属性。有一个 pull request 尚未审核(但根据最近的评论,似乎已安排在即将推出的版本中)。虽然优先级不是那么高,因为自定义属性仍然是一个相当新的功能,它们的性质使得既可以为本机支持它们的浏览器开发包装器,又可以在 JavaScript 中为不支持它们的浏览器重新实现它们, 测试该功能以确保一切正常而不破坏其他 jQuery 功能以及现有站点,这是一项艰巨的任务。