getElementsByClassName并连续更改每个类的类

时间:2013-12-27 12:59:57

标签: javascript jquery css class

我正在使用RSS到Javascript转换器,所以我得到了大约15个具有相同类的项目,我想为每个类更改每个项目。

像这样的东西。

getElementsByClassName('genericclass')class = ("one")
if("one") "alreadytaken" else ("two")
if("two") "alreadytaken" else ("three)

我希望你能得到这个想法,并且使用随机类选择器可能更容易吗?


这是一种jQuery方法,我无法通过其他javascript生成的div更改类。

看看:http://jsfiddle.net/rrmonn/7tRMS/

6 个答案:

答案 0 :(得分:2)

您可以这样做:

$('.genericclass').each(function(i){
   $(this).addClass('customClass_' + i);
});

答案 1 :(得分:1)

尝试类似

的内容
var classes = ['one', 'two', 'three', 'four']
var els = document.getElementsByClassName('genericclass');
for (var i = 0; i < els.length; i++) {
    els[i].className = classes[i]
}

使用jQuery

var classes = ['one', 'two', 'three', 'four']
$('.genericclass').removeClass().addClass(function(i){
    return classes[i]
})

演示:Fiddle

答案 2 :(得分:0)

我会尝试使用这样的smt:

$('.genericclass').each(function(index,item){
  $(item).attr('id', $(item).attr('id') + '_' + index);
});
如果你不使用jQuery,它就不会工作。 我希望能帮助你

答案 3 :(得分:0)

您可以使用提及的here脚本将数字转换为单词。然后您可以使用以下代码 -

$.each($(".genericclass"), function(i, v){
    i = i+1;
    $(this).addClass(toWords(i));
});

选中此fiddle

答案 4 :(得分:0)

这是另一种选择:

(function() {
    var i, classes;
    classes = document.querySelectorAll('.genericclass');
    for(i=0; i<classes.length; i++) {
        classes[i].className = 'newclass' + i;
    }
}());

答案 5 :(得分:0)

最终解决方案:

setTimeout(function(){ 
jQuery(function () {
var classes = ['one', 'two', 'three', 'four', 'one', 'two', 'three', 'four']
$('.rssincl-itemimage').removeClass().addClass(function (i) {
    return classes[i]
})})},150);

为其他javascript添加setTimeout以加载类,然后此脚本更改evryt