2016-07-22 58 views
1

所以我有一组标签,所有属于“BTN BTN-警告”引导类:将类分配唯一ID的所有元素jQuery的

<div class = "btn-group" data-toggle = "buttons"> 
    <label class="btn btn-warning active"> 
    <input type="radio" checked>QA 71</input> 
    </label> 
    <label class="btn btn-warning"> 
    <input type="radio">QA 72</input> 
    </label> 
    <label class="btn btn-warning"> 
    <input type="radio">QA 73</input> 
    </label> 
    <label class="btn btn-warning"> 
    <input type="radio">QA 74</input> 
    </label> 
    <label class="btn btn-warning"> 
    <input type="radio">ST 71</input> 
    </label> 
    <label class="btn btn-warning"> 
    <input type="radio">PR/Beta</input> 
    </label> 
</div> 

我想的ID分配给所有的他们,用一个标记QA 71 environment1,下一个为environment2等。这里是我的jQuery函数:

var count = 1; 
var btnid = ""; 
$(document).ready(function(){ 
    $("label .btn-warning").each(
    function(){      
     btnid = "environment"+count; 
     $(this).attr("id", btnid); 
     count++; 
    }); 
}); 

但是,这是行不通的。我究竟做错了什么?

+1

应该是'label.btn-warning',没有空间。 –

回答

5

它不工作的原因,是因为选择是错误的,一类标签被表示为label.classname

jQuery的each()也已经在第一个参数的计数,使用

$(document).ready(function(){ 
    $("label.btn-warning").each(function(index, elem){      
     elem.id = "environment" + (index + 1); // zero based 
    }); 
}); 

你甚至可以使用attr()有回调

$(document).ready(function(){ 
    $("label.btn-warning").attr('id', function(index){      
     return "environment" + (index + 1); // zero based 
    }); 
}); 
0

label的之间的空间d btn-warning这意味着它会尝试在标签内寻找类,而不是这种情况。

$("label.btn-warning") 

JSFIDDLE