簡體   English   中英

在Jquery中分配類的所有元素唯一ID

[英]Assigning all elements of a class unique IDs in Jquery

因此,我有一組標簽都屬於“ btn btn-warning”引導程序類:

<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++;
    });
});

但是,這不起作用。 我究竟做錯了什么?

之所以不起作用,是因為選擇器錯誤,帶有類的標簽表示為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
    });
});

labelbtn-warning之間有一個空格,這意味着它將嘗試在label內部查找一個類,事實並非如此。

$("label.btn-warning")

JSFIDDLE

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM