2010-12-02 5 views
2

Je mettais en œuvre une boîte de dialogue modale jqueryui et un related blog a montré une façon de l'implémenter qui a fonctionné mais je ne comprends pas ce que $("<div></div>") fait réellement. Est-ce créer un élément div vide à utiliser? Est-ce un moyen sûr de mettre en œuvre cela?

Répondre

3

C'est équivalent à document.createElement('DIV'). Vous pouvez consulter le jQuery source. Recherchez le commentaire:

// Handle HTML strings 

Et vous verrez comment cela fonctionne. Le <div> créé est vide, n'a aucun attribut et n'est pas attaché au DOM.

Il est plus fréquent de voir écrit:

$('<div />') 

... mais pas fonctionnellement différentes.

Souvent, il est enchaîné avec une méthode comme appendTo(), pour l'insérer dans le DOM.

+0

Merci un bouquet pour la réponse détaillée =) – Stefan

+0

Vous êtes les bienvenus. – artlung

1

Il crée un div vide à utiliser. Je ne vois pas pourquoi cela ne serait pas considéré comme sûr. C'est un balisage valide. Quelles préoccupations avez-vous à ce sujet en particulier?

1

Il est sûr mais peu démodé, cela est préférable d'utiliser:

$("<div/>"); 

ou le cas échéant, vous pouvez prédéfinir son contenu, les gestionnaires d'événements etc .:

$("<div/>",{ 
    "html" : "some content", 
    "click" : function(){ 
    //do something. 
    } 
});