Billet du sideblogue

DOM Builder dans Prototype

La prochaine version de la librairie Javascript Prototype comprendra un module de création d’objets DOM. On pourra donc créer un élément comme ceci:

var form = new Element('form', {
                         action: "/user/create",
                         method': "post"
                       });

Et cela produira:

<form action="/user/create" method="post">

C’est beaucoup plus pratique et rapide que d’utiliser consécutivement les méthodes createElement puis setAttribute.

Le seul désavantage est qu’il crée du HTML et ne génère donc pas de vrais objets DOM. Mise-à-jour: Country confirme dans les commentaires que Prototype crée bel et bien des objets DOM, et non du code HTML.

À quand la même chose dans jQuery?

Posté le et modifié le 14 mai 2007 à 11:32 avec les tags: , , et .

Commentaires fermés

Les commentaires pour ce billet ont été désactivés un mois après la date de publication de ce-dernier. Vous désirez exprimer votre opinion sur ce billet malgré le fait que les commentaires aient été désactivés ? Utilisez le formulaire de contact.


Fil atom des commentaires de ce billet3 commentaires

  • A noter que la dernière version de Mootools (la 1.1) intègre exactement la même fonction.

    Par contre je ne vois pas ce que tu appelles de « faux » objets DOM, après avoir jeté un oeil dans le code, ils génèrent bien des objets DOM tout ce qu’il y a de plus normal (sauf pour IE où ils ont dû appliquer un « hack » à cause de certains bugs).

    Country (14 mai 2007 à 9:00 EST)

  • Par contre je ne vois pas ce que tu appelles de “faux” objets DOM

    À voir l’exemple donné sur le blogue de Prototype — donc, sans l’avoir essayé par moi-même — j’en étais venue à la conclusion que le code généré était une chaîne de caractères que l’on pouvait ensuite insérer dans un autre élément DOM à l’aide de la propriété innerHTML.

    Tu me confirmes donc qu’il s’agit bien d’élément DOM et non de code HTML?

    Rémi Prévost (14 mai 2007 à 10:21 EST)

  • Oui je confirme, tu peux jeter un oeil à leur code (ligne 49 et 51 ils utilisent bien createElement, et setAttribute plus loin).

    Le plus simple pour s’en rendre compte est encore de faire un alert() ou un console.log() de ce que retourne la fonction ;)

    Country (14 mai 2007 à 10:45 EST)