将 id 动态附加到 jquery 中的动态 div
Dynamically appending id's to dynamic div's in jquery
我正在尝试将 id 动态附加到动态生成的 div。最初我有第一个 div 和 class "check" 然后在单击 "show more" 按钮后,我们呈现另一个 div 与相同的 class .这里有一个 ajax 电话。这是结构:
<div class= "check">
</div>
显示更多点击:
AJAX 呼唤
<div class= "check">
</div>
显示更多点击:
AJAX 调用
<div class= "check">
</div>
我想将 id 动态附加到主嵌套 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(函数() { 测试("test");})
使用:
var count = 0;
if($('.check').attr('id') != 'check_'+0)
{
$(".check").attr("id","check_"+count);
count++;
}
使用 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/
试试这个更短的方法:
$(".check").each(function(key,elem){
$(elem).attr('id', 'check_' + key)
})
我正在尝试将 id 动态附加到动态生成的 div。最初我有第一个 div 和 class "check" 然后在单击 "show more" 按钮后,我们呈现另一个 div 与相同的 class .这里有一个 ajax 电话。这是结构:
<div class= "check">
</div>
显示更多点击: AJAX 呼唤
<div class= "check">
</div>
显示更多点击: AJAX 调用
<div class= "check">
</div>
我想将 id 动态附加到主嵌套 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(函数() { 测试("test");})
使用:
var count = 0;
if($('.check').attr('id') != 'check_'+0)
{
$(".check").attr("id","check_"+count);
count++;
}
使用 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/
试试这个更短的方法:
$(".check").each(function(key,elem){
$(elem).attr('id', 'check_' + key)
})