jQuery附加在附加元素中

18 jquery append

我有以下jQuery代码可以工作,但它让我思考,如果可以对附加的内容执行追加操作,而无需指定我想要追加的内容.append().append()没有做到这一点,它只是把两个元素放在一起,而不是第一个append()动作的孩子.

作品:

var container = $('#container'),
    child = 'child';

$('#container').append($('<div/>',{
    'id'    : 'child'
}));

$('#' + child).append($('<a/>', {
    'class' : 'close',
    'href'  : 'javascript:;',
    html    : 'close',
    click   : function(e){
        e.preventDefault();
        $('#' + child).remove();
    }
}));
Run Code Online (Sandbox Code Playgroud)

不起作用:

var container = $('#container'),
    child = 'child';

$('#container').append($('<div/>',{
    'id'    : 'child'
})).append($('<a/>', {
    'class' : 'close',
    'href'  : 'javascript:;',
    html    : 'close',
    click   : function(e){
        e.preventDefault();
        $('#' + child).remove();
    }
}));
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/Y8TwW/1/

Ant*_*ist 21

您可以使用.appendTo()将第一个附加<div>到具有ID容器的元素,以便您具有对该新元素的引用,然后使用.append():

$('<div/>',{
    'id'    : 'child'
}).appendTo('#container').append(
    $('<a/>', {
        'class' : 'close',
        'href'  : 'javascript:;',
        html    : 'close',
        click   : function(e){
            e.preventDefault();
            $('#' + child).remove();
        }
    })
);
Run Code Online (Sandbox Code Playgroud)