用jquery .each()追加div

时间:2013-04-02 14:22:51

标签: javascript jquery html

我试图在函数中触发.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。

0 个答案:

没有答案