我试图在函数中触发.each()
循环,该函数将链接附加到先前创建的div。
我的HTML源自初始数据:
<tr>
<td><a onclick="addLinkToStage(181,false); return false;" href="#">[Add]</a></td>
</tr>
<tr>
<td>
<div email="bob@gmail.com" task="104" class="cases_holder_181"><b>Name:</b> Testing1</div>
<div email="a@a.com" task="104" class="cases_holder_181"><b>Name:</b> Testing1</div>
<div email="c@c.com" task="104" class="cases_holder_181"><b>Name:</b> Testing1</div>
<div email="bob@gmail.com" task="105" class="cases_holder_181"><b>Name:</b>Testing2</div>
<div email="a@a.com" task="105" class="cases_holder_181"><b>Name:</b> Testing2</div>
<div email="bob@gmail.com" task="106" class="cases_holder_181"><b>Name:</b> Testing3</div>
<div email="a@a.com" task="106" class="cases_holder_181"><b>Name:</b> Testing3</div>
<div email="bob@gmail.com" task="107" class="cases_holder_181"><b>Name:</b> Testing4</div>
<div email="a@a.com" task="107" class="cases_holder_181"><b>Name:</b> Testing4</div>
</td>
</tr>
我的JS如下:
var task_check = [];
var id_check = [];
function addLinkToStage(id,status){
$(".cases_holder_"+id).each(function(){
var task = $(this).attr("task")
if(task_check.indexOf(task) == -1){
task_check.push(task);
addStage(task,status);
}
else{
var div_html = '<div class="task_'+task+'">'+
'<a href="task'+task+'">Click</a>'+
'</div>';
$('#addlink'+task).append(div_html);
}
})
}
function addStage(id,status){
if(id_check.indexOf(id) == -1){
id_check.push(id);
$.getJSON(fullurl, function(json) {
$.each(json, function(i,d) {
output = '<div>Link</div>'+
'<div>'+d.Name+'</div>'+
'<div class="add" id="addlink'+id+'"></div>';
});
$('#stage').append(output);
}
}
如上所示,addLinkToStage
检查一组具有唯一ID的类,并根据属性“task”中的值触发函数addStage
。如果已经使用相同的“任务”值触发了addStage
函数,则会附加一个链接。
我的问题是它似乎跳过整个其他块,但是如果我要添加警报(“测试”);它会在警告框中附加每个确认点击的链接。
任何人都可以帮助我理解为什么它会像这样吗?还有一个可能的解决方案吗?
编辑:我也注意到尽管添加了alert()它会起作用,因为它被认为是着火,但它不适用于chrome。