CSS属性未显示在ClojureScript中
我有一个dom元素(div),它具有一些css属性,如背景色、填充等,我正试图这样访问它:CSS属性未显示在ClojureScript中,css,dom,clojurescript,Css,Dom,Clojurescript,我有一个dom元素(div),它具有一些css属性,如背景色、填充等,我正试图这样访问它: (prn (-> my-dom-element .-style .-background-color)) 但这是印刷零。然而,仅仅是做: (prn (-> my-dom-element .-style)) 是否打印所需的#对象[CSSStyleDeclaration[object CSSStyleDeclaration]] 我做错了什么 --编辑-- 我用(:require[goog.s
(prn (-> my-dom-element .-style .-background-color))
但这是印刷零。然而,仅仅是做:
(prn (-> my-dom-element .-style))
是否打印所需的#对象[CSSStyleDeclaration[object CSSStyleDeclaration]]
我做错了什么
--编辑--
我用
(:require[goog.style:as gs])
尝试了(prn(gs/getStyle我的dom元素“background color”)
,但它会打印空字符串。如何修复此问题?background-color
不是有效的JS属性名称,因为它实际上是background-color
(减号)。编译器总是将其转换为background\u color
以使其成为有效的JS,当然JS不再是有效的CSS名称
但是,由于JS也有同样的问题,因此样式属性名称使用camelCase表示法,因此正确的名称应该是backgroundColor
您可以将
(gs/getStyle my dom元素“background color”)
与(:require[goog.style:as gs])
一起使用在ns
中,这将负责转换属性名。这对我不起作用。它不再给出nil,但我得到的是空字符串。此外,它不像(prn(->my dom element.-style.-color))正在工作(提供空字符串),它没有属性名称问题。style
对象仅在您首先通过style
实际设置值时返回值。如果样式来自CSS类,则可以使用(gs/getComputedStyle elm“background color”)
。