如何应用jQuery CSS选择器

3
我试图在通过JavaScript循环动态创建的div上应用jQuery选择器。
每个div都是通过for循环创建的,并且为每个div分配了类。
minus = textbox1 - textbox2;

var count = 0;
var a;
for (x = textbox1; x >= minus; x--) {
    a = count++;
    $('body').append('<div class="drag' + a + '" >' + x + '</div>');
}

现在我正在尝试为这些元素添加CSS选择器,但是它没有起作用。

var colors = ["#42ae18","#eabc00","#147cc4","#FF6EB4","#ed4329","#8d33aa","#00b971","#e9681b","#a2b3d4","#0b863c","#eabc00","#7027a5","#c83131","#00a1de","#0bc1b6","#FF6EB4","#10a0b6","#FF6EB4","#eedfd3","#362819","#FFD700"];
var i = 0;
$(".drag").each(function(){
    $(this).css("color",colors[i]);
    if(i == colors.length-1)
    {
        i = 0;
    }
    else
    {
        i++;    
    }
});

完整的代码如下:
$("#submitBtn").click(function(){    
    var x;
    var minus;
    var textbox1= new Number($("#value1").val());
    var textbox2= new Number($("#value2").val());    

    var colors = ["#42ae18","#eabc00","#147cc4","#FF6EB4","#ed4329","#8d33aa","#00b971","#e9681b","#a2b3d4","#0b863c","#eabc00","#7027a5","#c83131","#00a1de","#0bc1b6","#FF6EB4","#10a0b6","#FF6EB4","#eedfd3","#362819","#FFD700"];
    var i = 0;
    $(".drag").each(function(){
        $(this).css("color",colors[i]);
        if(i == colors.length-1)
        {
            i = 0;
        }
        else
        {
            i++;    
        }
    });

    minus=textbox1-textbox2;

    var count=0;
    var a;
    for(x=textbox1;x>=minus;x--){
        a=count++;
        $('body').append('<div class="drag'+a+'" >' +x+ '</div>');
    }       
});
1个回答

3
您可以使用类似以下的“属性以开头选择器”(attribute starts with selector)

var colors = ["#42ae18", "#eabc00", "#147cc4", "#FF6EB4", "#ed4329", "#8d33aa", "#00b971", "#e9681b", "#a2b3d4", "#0b863c", "#eabc00", "#7027a5", "#c83131", "#00a1de", "#0bc1b6", "#FF6EB4", "#10a0b6", "#FF6EB4", "#eedfd3", "#362819", "#FFD700"];
var i = 0;
$("[class^=drag]").each(function () { //change selector here
    $(this).css("color", colors[i]);
    if (i == colors.length - 1) {
        i = 0;
    }
    else {
        i++;
    }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="drag0">!!!!!</div>
<div class="drag1">!!!!!</div>
<div class="drag2">!!!!!</div>
<div class="drag3">!!!!!</div>
<div class="drag4">!!!!!</div>
<div class="drag5">!!!!!</div>
<div class="drag6">!!!!!</div>
<div class="drag7">!!!!!</div>
<div class="drag8">!!!!!</div>


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接