将ID添加到DIV。 jQuery的

时间:2016-05-30 15:31:19

标签: jquery onload

我想在具有相同类的div中添加一系列ID。

样品:

<div class="sample" id="id_1"></div>
<div class="sample" id="id_2"></div>
<div class="sample" id="id_3"></div>
<div class="sample" id="id_4"></div>

以下是我的项目enter link description here

的链接

here is the screenshot

我正在使用此代码。

$(document).ready(function(){
    $('.fpd-item').each(function(i){
    $(this).attr('id', 'id_'+(i+1));
});

如果我使用.on(click)触发,这显然有效 像这样:

$(document).ready(function(){
  $('#primary').on( "click", '.gchoice_3_10_1', function(i){
    $('.fpd-item').each(function(i){
      $(this).attr('id', 'id_'+(i+1));
    });        
  });
});  

但问题是,我希望在页面加载后添加ID,而不是点击事件。

3 个答案:

答案 0 :(得分:0)

最简单的方法是使用attr(prop,function)。这不会解决为什么你的代码没有工作,除了你在代码中显示缺少一组大括号,但它看起来更干净

$(function(){

    $('.fpd-item').attr('id',function(i){
          return 'id_'+(i+1);
    });

});

答案 1 :(得分:-1)

我有以下建议:

  1. 在您的示例中,缺少右括号和括号。
  2. 我还假设您必须确保fpd-item在加载时存在。
  3. 所以这应该有效:

    $(document).ready(function(){
        $('.fpd-item').each(function(i){
          $(this).attr('id', 'id_'+(i+1));
          // Added just to ssho
          $(this).text('id_'+(i+1));
        });        
    });  
    

    我在这里试过这个并且有效:

    https://jsfiddle.net/freedev/h5b1ubhr/2/

答案 2 :(得分:-1)

终于找到了解决方案:

    $(window).bind("load", function() {
        $('.fpd-item').each(function(i){
          $(this).attr('id', 'id_'+(i+1));
        });        
    });      

通过重播$(document).ready(function(){whith $(window).bind(“load”,function(){

$(window).bind("load", function() {
        // content here        
 });