0

我试图.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 的类,并根据属性“任务”中的值触发函数addStage。如果该addStage功能已被相同的“任务”值触发,则它会附加一个链接。

我的问题是它似乎跳过了整个 else 块,但是如果我要添加一个 alert("Test"); 它会在警报框中的每次确认单击时附加链接。

谁能帮我理解它为什么会这样?以及解决它的可能解决方案?

编辑:我还注意到,尽管添加了 alert() 它将工作,因为它假设着火,它不会在 chrome 上工作。

4

0 回答 0