CSS数据属性条件值选择器?

标签 css html css-selectors custom-data-attribute

给定的 html 例如:

<div data-points="800">Jonh</div>
<div data-points="200">Jack</div>
<div data-points="1200">Julian</div>

如何选择值大于1000 (x>1000) 的元素?

偏好:通过 CSS 选择器。如果没有这样的事情,那么我会重新要求一个 JQuery/JS 答案。


最终使用:

var x = 1000;
$("div").each(function() {
    if ($(this).attr('data-points') > x) {
        $(this).addClass('larger-than-x'); // Or whatever
    }
});

最佳答案

使用 CSS,您可以选择带有属性的元素:

div[data-points] {  }

或者它们的属性值:

div[data-points="800"] {  }

但是你不能在 CSS 中使用条件。
我建议您使用 javaScript 解决方案来解决这个问题,它非常简单,例如,使用 jQuery,您可以执行以下操作:

$("div[data-points]").each(function() {
    if ($(this).attr('data-points') > 1000) {
        $(this).addClass('larger-than-1000'); // Or whatever
    }
});

关于CSS数据属性条件值选择器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24173770/

相关文章:

css - 如何更有效地组织这些 CSS 选择器?我希望 CSS 选择器应用于也分配了 id 的元素

html - 垂直对齐图像旁边的文本?

HTML - 覆盖菜单中一个 <li> 元素的样式

html - 水平 UL 上的垂直分隔线问题

javascript - 元素在体内找不到足够的空间 - JavaScript 样式

javascript - 如何使用 extjs 根据 div id 将标签插入现有标签?

html - 为什么我的 CSS 滚动捕捉点不能与 `div` 一起使用?

javascript - 通过下拉选择更改div中特定图像的图像源

CSS:如何选择所有 rel 属性

jquery - 什么 JQuery 选择器会排除父项与给定选择器匹配的项?