用于基于包含值数组的data-* 属性进行选择的CSS?

hjzp0vay  于 2023-02-17  发布在  其他
关注(0)|答案(1)|浏览(148)

我需要根据一个名为“data-attributes”的属性中的数据选择一个HTML元素,在Firefox的DOM Inspector中,属性值如下所示:

<div data-attributes="[{"Id":50,"Code":"LIC","ShowInSessionFilter":false}]">

我试过使用下面这样的CSS选择器,但没有效果:

div[data-attributes~="LIC"]

所以我假设属性值不是字符串,而是一个javascript对象,被Inspector显示为一个Json字符串,问题是,我如何根据节点包含的对象中的键/值对之一选择节点?这在CSS中可能吗?

wlp8pajw

wlp8pajw1#

就css而言,该属性只是一个字符串,你可以使用div[data-attributes*="LIC"],但这并不检查json键--CSS中的 *=操作符只是表示该属性包含该子字符串,因此它也会匹配[“LIC 2”:“foo”]等类似的字符串。
也许[data-attributes*=":\"LIC\""]对您的情况来说已经足够好了。

相关问题