动态地将id附加到jquery中的动态div

时间:2015-06-23 15:55:05

标签: jquery jquery-selectors

我试图动态地将id附加到动态生成的div中。最初我有第一个div和#34;检查" &安培;然后在"显示更多"单击按钮,我们另一个具有相同类的div被渲染。这里有一个ajax电话。这是结构:

<div class= "check">

</div>

显示更多点击: AJAX致电

<div class= "check">

</div>

显示更多点击: AJAX致电

<div class= "check">

</div>

我想动态地将id添加到主&amp;嵌套的div。所以我想要以下结果:

<div class= "check" id = "check_0" >
    <div id = "test0">
  <script type = 'text/javascript'>
        thirdpartyfunction(function(){});
  </script>
  </div>
</div>


<div class= "check" id = "check_1" >
    <div id = "test1">
  <script type = 'text/javascript'>
        thirdpartyfunction(function(){});
  </script>
  </div>
</div>

<div class= "check" id = "check_2" >
    <div id = "test2">
  <script type = 'text/javascript'>
        thirdpartyfunction(function(){});
  </script>
  </div>
</div>

我尝试改变第一个div的id总是。什么是解决这个问题的最佳方法?

我试过这样的事情:(伪代码)

var count = 0; 
if(div with count id=0 does not exist then .. )
{
$(".check").attr("id","check_"+count);
count++;
}

第三方功能           thirdpartfunction.track(function(){test(&#34; test&#34;);})     

3 个答案:

答案 0 :(得分:1)

使用JQuery的.each()

$( ".check" ).each(function( i ) {
$(this).attr('id', 'check' + i);
$(this).append('<div id=\"test' +i+'\"></div>');
var script=document.createElement('script');
script.type='text/javascript';
script.innerHTML=" alert('"+i+"');";
$(this).find('div').append(script);
});

这是一个有效的jsfiddle http://jsfiddle.net/puo906vn/4/

答案 1 :(得分:0)

使用:

var count = 0; 
if($('.check').attr('id') != 'check_'+0)
{
$(".check").attr("id","check_"+count);
count++;
}

答案 2 :(得分:0)

尝试这种更短的方式:

$(".check").each(function(key,elem){
    $(elem).attr('id', 'check_' + key)
})