jquery - 将类添加到数组中的第一个元素

标签 jquery arrays class

我有一个关于 jQuery 数组元素的简单问题...

<div id="holder">       
    <div class="A">A</div>
    <div class="A">A</div>
    <div class="A">A</div>
    <div class="B">B</div>
    <div class="B">B</div>
    <div class="B">B</div>
    <div class="B">B</div>
    <div class="C">C</div>
    <div class="C">C</div>
    <div class="C">C</div>
    <div class="C">C</div>
    <div class="C">C</div>
</div>

和 JS:

var klassenarray = $("#holder").find("[class]").map(function() {
     return this.className;
   }).get();
alert(klassenarray);

给我:

A,A,A,B,B,B,B,C,C,C,C,C

现在我需要向具有相同 className 的每个元素添加一个名为 first 的类。像这样:

<div id="holder">       
    <div class="A first">A</div>
    <div class="A">A</div>
    <div class="A">A</div>
    <div class="B first">B</div>
    <div class="B">B</div>
    <div class="B">B</div>
    <div class="B">B</div>
    <div class="C first">C</div>
    <div class="C">C</div>
    <div class="C">C</div>
    <div class="C">C</div>
    <div class="C">C</div>
</div>

最佳答案

要实现此目的,您可以获取数组,获取唯一值,然后循环遍历它并使用 first() 方法仅检索具有给定类的第一个元素。试试这个:

var klassenarray = $("#holder").find("[class]").map(function() {
  return this.className;
}).get();

$.unique(klassenarray).forEach(function(c) {
  $('.' + c).first().addClass('first');
});
.first { color: #C00; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="holder">
  <div class="A">A</div>
  <div class="A">A</div>
  <div class="A">A</div>
  <div class="B">B</div>
  <div class="B">B</div>
  <div class="B">B</div>
  <div class="B">B</div>
  <div class="C">C</div>
  <div class="C">C</div>
  <div class="C">C</div>
  <div class="C">C</div>
  <div class="C">C</div>
</div>

关于jquery - 将类添加到数组中的第一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40523157/

相关文章:

javascript - 单击 div 时将 +1 添加到 cookie 值

c - 我的 for 循环有什么问题?

java - 将变量从 View 传递到 Activity

javascript - 从 Javascript 访问类方法

C++11成员类初始化顺序

JavaScript/JQuery : $(window). resize 调整大小完成后如何触发?

jquery - 加载图像并调整其宽度

jquery - 获取正确的图像大小

c - 如何在模运算之前键入 uint32 数组的强制转换元素?

javascript - 如何过滤以相同单词开头的句子数组并使用 JavaScript 创建一个新数组?