css选择器中的attr as属性

css选择器中的attr as属性,css,attr,Css,Attr,可能重复: html: 家庭可以是任何字符串。 如何让它工作?在纯CSS中,你无法实现你所要求的。使用jQuery可以通过以下方式完成: $.each($('div'), function(i, div) { $.each($(this).data(), function(key, val) { var realKey = key.replace(/([A-Z]{1})/g, '-$1').toLowerCase(); $(div).css(realKe

可能重复:

html:

家庭可以是任何字符串。
如何让它工作?

在纯CSS中,你无法实现你所要求的。使用jQuery可以通过以下方式完成:

$.each($('div'), function(i, div) {
    $.each($(this).data(), function(key, val) {
        var realKey = key.replace(/([A-Z]{1})/g, '-$1').toLowerCase();
        $(div).css(realKey, val);
    })
})​

选中此选项。

您可以使用以下选项:

div[data-weight="bold"] { font-weight: bold; }
但是我不相信在没有JavaScript的情况下,有任何方法可以将属性用作属性。请尝试以下代码:

 div[data-weight="bold"]{
      font-weight: bold;
    }


你意识到这样的东西需要真正的现代浏览器吗?@chinaǝ596;ɑǝlʎ670;:不,完全不同。这在任何浏览器中都不起作用,因为它们目前只支持
内容
属性的
attr()
,而不支持其他属性。现在,您需要在CSS中硬编码该值,或者使用JavaScript。删除
div
[
。从代码中删除了给定错误的空格,但属性值仍在此处硬编码。我怀疑这是OP想要的。@Michal Klouda:没错,但确实没有其他方法。请参阅我对问题的评论。数据权重是动态的。我更改了问题。
div[data-weight="bold"] { font-weight: bold; }
 div[data-weight="bold"]{
      font-weight: bold;
    }