未应用来自数据属性的 css 规则

The css rule from data attribute is not getting applied

我卡住了。如果您否决了这个问题,请解释一下,以便我理解为什么以及如何改进我的问题。
我有一个数据属性需要 "referenced" by jquery。 jquery 引用此数据属性以将 "background" 和 "url" 设置为 css class。我不确定如何或在何处放置引号,以便正确放置 url() 内的引号。 (我认为这是问题所在)

<li class="wings-data" data-country-code="se" 
 data-background-style="'background','url( "images/se.jpg")'">

var backgroundStyle = $(".wings-data").data("background-style");

$("#article").css(backgroundStyle);
<li class="wings-data" data-country-code="se"
 data-background-style="'background','url( \"images/se.jpg\")'"> ABC</li>

var backgroundStyle = $(".wings-data").prop("data-background-style");
$("#article").css(backgroundStyle);

你的代码有问题

var backgroundStyle = $(".wings-data").data("background-style");

$("#article").css(backgroundStyle);

而不是这个尝试代码

li class="wings-data" data-country-code="se"
 data-background-style="'background','url( \"images/se.jpg\")'"

var backgroundStyle = $(".wings-data").attr("data-background-style");

$("#article").css(backgroundStyle);

获取数据后,background-style变为backgroundStylejQuery 将自动去除连字符和驼峰式连字符属性

var backgroundStyle = $(".wings-data").data("backgroundStyle");

另外,用反斜杠转义引号:

<li class="wings-data" data-country-code="se"
 data-background-style="'background','url( \"images/se.jpg\")'"></li>

完全消除引号以获得更具可读性的代码。

HTML :

<li class="wings-data" data-country-code="se"
 data-background-style="background,url(images/se.jpg)"> ABC</li>

JS :

var backgroundStyle = $(".wings-data").data("backgroundStyle").split(',');
$("#article").css(backgroundStyle[0],backgroundStyle[1]);

参见 JsFiddle 解决方案。