如果元素具有 className1 classFromArray prepend classFromArray

if element has className1 classFromArray prepend classFromArray

本文关键字:classFromArray prepend className1 元素 如果      更新时间:2023-09-26

正如问题所说,我需要做这样的事情:
如果元素具有 className1 classFromArray prepend 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>