css - 在列表中选择第一个类型的 div,所有类型的 div 都具有与其关联的状态的数据属性

标签 css jquery-selectors css-selectors

我有一个动态创建的元素列表,这些元素是处于特定状态的作业。每个州可以有不止一个工作,我试图选择每个州的第一个,但不仅仅是这个巨大列表中的第一个。例如:

<section class="careers">
<div data-state="career-illinois">...</div>
<div data-state="career-illinois">...</div>
<div data-state="career-illinois">...</div>
<div data-state="career-michigan">...</div>
<div data-state="career-michigan">...</div>
<div data-state="career-michigan">...</div>
<div data-state="career-ohio">...</div>
<div data-state="career-ohio">...</div>
</section>

我想(使用 js 或 css)只选择每个组的第一个状态。 我希望通过以下方式实现这一目标:

.careers div[class*="career-"]:nth-of-type(1) h2 {
  color: #636467;
}

但这没有用。我已经尝试了几种方法来使用 jQuery 来定位它,但没有成功。甚至不确定这是否可能?

最佳答案

一种方法是遍历 div 并跟踪您是否已经看到具有该数据属性的 div

var jobs = [];
$('section.careers div').each(function () {
    if ($.inArray($(this).data('state'), jobs) === -1) { // an element with this data attribute hasn't been encountered yet
        jobs.push($(this).data('state')); // Add the data attribute to our tracking array
        $(this).addClass('first')
    }
})
.first {
    color: #636467;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<section class="careers">
    <div data-state="career-illinois">...</div>
    <div data-state="career-illinois">...</div>
    <div data-state="career-illinois">...</div>
    <div data-state="career-michigan">...</div>
    <div data-state="career-michigan">...</div>
    <div data-state="career-michigan">...</div>
    <div data-state="career-ohio">...</div>
    <div data-state="career-ohio">...</div>
</section>

或不:

关于css - 在列表中选择第一个类型的 div,所有类型的 div 都具有与其关联的状态的数据属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29926852/

相关文章:

jquery - jquery 选择器上的 not() 方法不起作用

python - 如何提取嵌套在多个division元素中的anchor元素

css - 将字段集中的复选框显示为三列

javascript - jQuery .css() 方法不起作用

jquery - 使用 jquery 更改工具提示 div 的 css

javascript - 选择jquery中动态创建的元素

jquery - jquery 在元素后面插入

css - 如何使用 CSS 选择自定义元素的一部分?

jquery - 使用 :nth-child pseudo-selector? 的 CSS 砌体网格

jquery - 我需要一个 headless 浏览器来抓取 CSS 属性吗