我试图将下面的css分配给一个元素,但它没有将css分配给该元素。这是最好的方法吗不知道我做错了什么。
var col1 = "#616161";
var col2 = "#ffffff";
var cssStr = '"background": "linear-gradient(180deg, '+col+', '+col2+')", "background-clip": "text", "-webkit-text-fill-color": "transparent"';
console.log("CssStr: " + cssStr);
$(this).css({cssStr})
在控制台日志中:
CssStr: "background": "linear-gradient(180deg, #616161, #ffffff)", "background-clip": "text", "-webkit-text-fill-color": "transparent"
2条答案
按热度按时间fae0ux8s1#
不能通过将属性的字符串表示形式放在
{}
中来创建对象。只需直接创建对象,并将变量替换为其中一个属性值。替换变量的最简单方法是使用模板文字而不是串联。wpcxdonn2#
您正在尝试将字符串转换为对象,并将对象传递给
.css()
。你不能做前者,你应该把键值对传递给后者。我已经注解掉了你的第二条规则,因为在这个小提琴中,它阻止了任何图形的显示: