但是使用此代码,所有复选框元素都具有相同的ID ...
var count;
var length = $('input[type=checkbox]').length
for(count=1;count<=length;count++){
$('input[type=checkbox]').attr('id',count)
}
答案 0 :(得分:4)
$(':checkbox').prop("id", function( i ){
return i;
});
$(':checkbox').each(function( i ){
this.id = i;
});
两个例子都返回:
<input id="0" type="checkbox">
<input id="1" type="checkbox">
<input id="2" type="checkbox">
<input id="3" type="checkbox">
如果你想从1开始,只需使用:
this.id = i+1;
由于非HTML5(旧版)浏览器不支持数字ID,因此请将任何字符串前缀添加到ID号,例如"el"+ (i+1)
答案 1 :(得分:2)
$('input[type=checkbox]').prop('id', function(i) {
return ++i;
});
答案 2 :(得分:1)
改为使用.each()
:
$('input[type=checkbox]').each(function(i) {
// i is the 0-based index of this element in the matched set
$(this).prop('id', i);
});
答案 3 :(得分:1)
使用each()迭代选择器返回的元素并分配id。 数字ID通常不被认为是一个好习惯你的postfix的前缀与一些字符串。
$('input[type=checkbox]').each(function(i){
$(this).attr('id',"id_"+i)
})
答案 4 :(得分:0)