javascript - 如果元素有 className1 classFromArray 前置 classFromArray

标签 javascript jquery

正如问题所说,我需要做类似的事情:
如果元素有 className1 classFromArray 则在前面添加 classFromArray。

到目前为止,我得到了这个,但它在匹配的数组中添加了所有类名,我希望它仅在它具有并匹配数组的类前面添加。

JSFiddle

<div class="title purple_grad">
  <p>mensaje</p>
</div>

<div class="title red_grad">
  <p>mensaje</p>
</div>

var cols = [
            'purple_grad',
            'red_grad',
            'green_grad',
            'blue_grad'
];

var e = $("div");
for(i=0; i < cols.length; i++) {
  (function(i) {
    if ( e.hasClass("title") && e.hasClass(cols[i]) ) {
      e.prepend(cols[i]);
  }
  })(i);
}

最佳答案

您需要过滤并添加文本,例如

var cols = [
  'purple_grad',
  'red_grad',
  'green_grad',
  'blue_grad'
];

var e = $("div.title"); //the hard filter can be applied here
cols.forEach(function(key) {
  e.filter('.' + key).prepend(key); //prepend the text after applying the class filter
})
.purple_grad {
  color: purple;
}
.red_grad {
  color: red;
}
.green_grad {
  color: green;
}
.blue_grad {
  color: blue;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="title purple_grad">
  <p>mensaje</p>
</div>
<hr>
<div class="title red_grad">
  <p>mensaje</p>
</div>

关于javascript - 如果元素有 className1 classFromArray 前置 classFromArray,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35423513/

相关文章:

javascript - .on ("click") 不 append 到 HTML

javascript - knockout ,选择/下拉列表的先前值

javascript - 在 ionic 2 和 angular 2 中添加传单弹出窗口的链接

javascript - AJAX 联系表单在 Wordpress 中不起作用

javascript - jquery $ 函数在 IE 中返回不同的结果

javascript - 使用 jQuery 将结果值分配给第三个文本框

jquery - 基本的 Jquery slider 修改

javascript - 这两者有什么区别?

javascript - 在 Javascript 中运行总混凝土立方码计算器

javascript - 如何添加样式: inline-block while a ul being toggled on without changing Javascript?