浏览器的代码处理

时间:2014-08-09 13:58:47

标签: javascript jquery html

拥有简单的javascript代码:

$('#btn1').click(function(){
    $('#parent').append('<span>span</span>');
});
$('#btn2').click(function(){
    if ($('#parent span').length > 0)
        alert($('#parent span').text());
    else 
        alert('element doesn\'t exists yet!');
});

用户是否可以快速点击btn2以使附加的span元素不存在?

我是对的,直到btn1上的click事件的处理函数结束并且span被添加到文档中,单击btn2结束时没有结果只是因为浏览器正在处理btn1处理程序?

1 个答案:

答案 0 :(得分:0)

是。实际上,点击#btn2除非您首先点击#btn1,否则不会提醒“span”。如果您想自动加载<span>span</span>,而无需点击按钮,您可以这样做:

$(document).ready(function() {
    $('#parent').append('<span>span</span>');

    $('#btn2').click(function(){
        if ($('#parent span').length > 0) {
            alert($('#parent span').text());
        } else {
            alert('element doesn\'t exists yet!');
        }
    });
});

然后您的<span>span</span>会自动附加,点击#btn2应始终提醒“span”。