web-dev-qa-db-fra.com

jQuery - Ajout d'un div au corps, le corps est l'objet?

Lorsque j'ajoute un div au corps, cela renvoie le corps en tant qu'objet, puis chaque fois que j'utilise cela - c'est évidemment en utilisant le corps. Mauvais.

Code:-

var holdyDiv = $('body').append('div');
$(holdyDiv).attr('id', 'holdy');

Le 'id' de holdy est maintenant ajouté au corps ... hein? Qu'est-ce que je fais mal.

42
waxical

les méthodes jQuery renvoient l'ensemble sur lequel elles ont été appliquées.

Utilisez . AppendTo :

var $div = $('<div />').appendTo('body');
$div.attr('id', 'holdy');
74
Didier Ghys
    $('body').append($('<div/>', {
        id: 'holdy' 
    }));
19
thecodeparadox
$('</div>').attr('id', 'holdy').appendTo('body');
11
xdazz

Utilisez plutôt appendTo. append ou appendTo renvoie un objet jQuery pour que vous n'ayez pas à l'envelopper dans $().

var holdyDiv = $('<div />').appendTo('body');
holdyDiv.attr('id', 'holdy');

.appendTo() référence: http://api.jquery.com/appendTo/

Vous pouvez également essayer cela.

$('<div />', { id: 'holdy' }).appendTo('body');
               ^
             (Here you can specify any attribute/value pair you want)
8
ShankarSangoli

En utilisant jQuery appendTo essayez ceci:

var holdyDiv = $('<div></div>').attr('id', 'holdy');
holdyDiv.appendTo('body');
5
sinemetu1
var $div = $('<div />').appendTo('body');
$div.attr('id', 'holdy');
2
Abhishek