le MEMO du WEB développeur
••• JQuery •••  Liste des Mémos, astuces et bonnes pratiques

Rajouter un élément dans le DOM

JQuery permet de rajouter à la volée des événements dans le DOM.

Ici l'on créé un nouvel élément DIV dans le DOM (qui n'existe pas dans le document HTML de départ)

var new_element = jQuery('<div id="new_elt">?</div>');
// On ajoute du style avec la fonction .css()
new_element.css({
    background: 'gray',
    width     : '50px',
    height    : '30px',
    padding   : '3px'
}); 

Pour le moment, notre élément new_element  existe, il est stocké dans la mémoire, mais il n'est pas encore affiché à l'écran.

Pour l'insérer dans le DOM, il faut ajouter ce nouvel élément new_element à l'intérieur d'un élément existant dans le document HTML avec les méthode JQuery append() ou prepend()

$('body').append(new_element);

Ici on a ajouté notre nouvel élément div new_element à la fin du body du document HTML (pour l'insérer au début, on aurait utilisé la méthode prepend())

source : http://www.finalclap.com/tuto/cours-jquery-61/manipuler-dom-66/

Avertissement :

le nouvel élément rajouté ainsi dans le DOM ne répondra pas aux évenements associés à sa classe ou à son sélecteur !!

Par exemple, le div précédemment ajouté dans le DOM, d'identifiant id="new_elt" ne répondra pas à l'événement suivant :

$("#new_elt").click (function () { alert ('cette alerte ne sera jamais déclenchée...'); });

Pour pouvoir agir sur l'évenement click du div #new_elt inséré dans le DOM,  il faut obligatoirement faire appel à la fonction JQuery live()

live() permet d'associer un événement à un élément qui n'existe pas encore au moment de l'affichage

 $("#monDiv").live("click", function(){
         alert ('hourra, j\'ai cliqué sur new_element');
 });
 
Avertissement
La méthode live() est dépréciée depuis jQuery 1.7, il est conseillé de la remplacer par delegate() ou on(). Des explications claires sur ce blog
 
 
publié le 14/12/2011 par Memo Web
Commenter le Mémo :

Jquery récupérer les valeurs de checkbox, select et radio
Plugin JQuery Select Box / Drop-Down / Liste déroulante. Un joli select
Siblings() Parcours des frères immédiats d'un élément
Lecture seule d'un textarea en JQuery
Parcourir tous les éléments d'une classe en JQuery
Comment faire des opérations avec les attributs de style exprimés en px
Récupérer le contenu ou afficher du texte dans un textarea en JQuery
Not(expr) Element d'exclusion en Jquery
Sélecteurs RegExp et JQuery
$("#calendar").fullCalendar is not a function
Ajoutez vos propres Mémos sur MEMO-WEB

Il suffit de vous créer un compte sur le site

Vous pourrez choisir un thème parmis l'une des catégories proposées par MEMO-WEB.

Rédigez votre Mémo.
Après validation par MEMO-WEB, il sera mis en ligne.
Ajouter vos Mémos