<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="http://hanblog.info/blog/feed/rss2/xslt" ?><rss version="2.0"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:content="http://purl.org/rss/1.0/modules/content/"
  xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
  <title>Hanblog - Tag - DOM  - Commentaires</title>
  <link>http://hanblog.info/blog/</link>
  <atom:link href="http://hanblog.info/blog/feed/tag/DOM/rss2/comments" rel="self" type="application/rss+xml"/>
  <description></description>
  <language>fr</language>
  <pubDate>Mon, 13 Oct 2008 19:49:32 +0200</pubDate>
  <copyright></copyright>
  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  <generator>Dotclear</generator>
  
    
    
    <item>
    <title>Librairies JavaScript : Connaissez vos outils - S.F.</title>
    <link>http://hanblog.info/blog/post/2008/08/27/Librairies-JavaScript-%3A-Connaissez-vos-outils#c617</link>
    <guid isPermaLink="false">urn:md5:7f4d45f849971f080866d752b3648f8d</guid>
    <pubDate>Sun, 14 Sep 2008 15:19:55 +0200</pubDate>
    <dc:creator>S.F.</dc:creator>
    
    <description>&lt;p&gt;Et que penses-tu de $($('div')[0]).toggle() ?&lt;/p&gt;</description>
  </item>
      
    
    <item>
    <title>Librairies JavaScript : Connaissez vos outils - Eric</title>
    <link>http://hanblog.info/blog/post/2008/08/27/Librairies-JavaScript-%3A-Connaissez-vos-outils#c612</link>
    <guid isPermaLink="false">urn:md5:ef565ce9bf0dc5b587be2639f1581280</guid>
    <pubDate>Fri, 29 Aug 2008 21:19:24 +0200</pubDate>
    <dc:creator>Eric</dc:creator>
    
    <description>&lt;p&gt;Un des points du discours d'Anthony est probablement à propos des horreurs qu'on voit fleurir. Les framework CSS ajoutent des abstractions et trop de gens les utilisent sans comprendre ce que ça fait derrière, ou sans en prendre compte.&lt;br /&gt;
Le résultat c'est que ce qui est fait via ces framework peut parfois prendre 10 ou même 10000x plus de temps. Pas forcément à cause du framework lui même, mais plus de sa mauvaise utilisation et du principe même de passer par une abstraction pour quelque chose qui devrait être simple si c'était bien fait.&lt;/p&gt;


&lt;p&gt;Le second est assez classique : ne touchez pas la présentation en javascript, jamais. C'est pénible autant pour la maintenance, que pour le développement ou pour les performances.&lt;/p&gt;</description>
  </item>
      
    
    <item>
    <title>Librairies JavaScript : Connaissez vos outils - Louis</title>
    <link>http://hanblog.info/blog/post/2008/08/27/Librairies-JavaScript-%3A-Connaissez-vos-outils#c611</link>
    <guid isPermaLink="false">urn:md5:176cc2f4ca16aa71b93f0fd888fa1618</guid>
    <pubDate>Thu, 28 Aug 2008 01:14:16 +0200</pubDate>
    <dc:creator>Louis</dc:creator>
    
    <description>&lt;p&gt;Je ne comprend pas ce que tu cherches à montrer. Tu commences en disant que les framework JS c'est le mal, et ensuite tu compares deux fonctions d'un même framework. Je m'attendais à ce que tu compare du code natif et la même fonctionnalité via un code framework.&lt;/p&gt;


&lt;p&gt;En fait ce n'est qu'après relecture que je comprend que le point que tu veux souligner, c'est le choix de la fonction framework. Oui, le choix est important. Ca me semble couler de source, mais on peut toujours le rappeler.&lt;/p&gt;


&lt;p&gt;Concernant ta conclusion, ton &quot;de plus&quot; est une raison totalement suffisante en soi. Il ne faudrait pas que le fichier JavaScript contienne plus de CSS que le fichier CSS lui-même. Aussi, une bonne pratique est d'utiliser exclusivement des classes dans le JS, à l'exception des éléments de style qui servent uniquement un mécanisme de l'interaction javascript.&lt;/p&gt;


&lt;p&gt;Mootools va dans ce sens — dans le bon sens — avec son objet Morph qui permet de passer d'une classe CSS à une autre, en animant toutes les propriétés qui varient.&lt;/p&gt;</description>
  </item>
      
    
    <item>
    <title>Nouveautés Safari 3.1 : getElementsByClassName - Olivier D. alias ze kat</title>
    <link>http://hanblog.info/blog/post/2008/04/10/Nouveautes-Safari-31#c600</link>
    <guid isPermaLink="false">urn:md5:431c6743cd55f319a17a3b77b25765d8</guid>
    <pubDate>Mon, 09 Jun 2008 12:44:44 +0200</pubDate>
    <dc:creator>Olivier D. alias ze kat</dc:creator>
    
    <description>&lt;p&gt;La technique getElementsByClassName est trés interressante car ses performances sont meilleures que tout autre méthodes de sélection même si on ne passe pas par les fonctions natives de Firefox 3 ou Safari 3.&lt;br /&gt;
A noter que si on simule cette fonction via XPath, c'est moins bon.&lt;br /&gt;
Et pour info, c'est beaucoup plus rapide en Javascript (pour le rendu) de modifier la class d'un element plutot que de modifier ses attributs de style CSS un par un.&lt;/p&gt;


&lt;p&gt;Perso, j'utilise une lib* compatible IE6/Firefox2/Safari pour les profiles de LiFE2Front, et çà me permet de faire du tri/filtrage de contenu instantanément avec de bonnes performances. Mais inconvenient ; çà fait grincer Prototype, JQuery, Yahoo! UI, ou Dojo :o(&lt;/p&gt;


&lt;p&gt;(*) cliquer sur ma signature pour voir une démo avec mon profil. La lib est citée dans les crédits en bas de page.&lt;/p&gt;</description>
  </item>
      
    
    <item>
    <title>Nouveautés Safari 3.1 : getElementsByClassName - Rik</title>
    <link>http://hanblog.info/blog/post/2008/04/10/Nouveautes-Safari-31#c594</link>
    <guid isPermaLink="false">urn:md5:73c27a3089406ca55879e6dc3a6a59d8</guid>
    <pubDate>Fri, 11 Apr 2008 12:20:22 +0200</pubDate>
    <dc:creator>Rik</dc:creator>
    
    <description>&lt;p&gt;Déjà, Safari 3.1 est bien sorti :) C'est pour cela que j'ai regardé les libs.&lt;/p&gt;


&lt;p&gt;Par contre, mon message est ambigu. Je parlais d'utiliser getElementsByClassName pour leurs recherches basées sur les sélecteurs CSS. Ça demande de changer leur algo (et c'est pas immédiat), mais quel bénéfice pour les utilisateurs.&lt;/p&gt;


&lt;p&gt;Par contre, je vais modifier le billet, parce que j'avais oublié de préciser le côté &quot;live&quot; de la liste retournée.&lt;/p&gt;</description>
  </item>
      
    
    <item>
    <title>Nouveautés Safari 3.1 : getElementsByClassName - Eric</title>
    <link>http://hanblog.info/blog/post/2008/04/10/Nouveautes-Safari-31#c592</link>
    <guid isPermaLink="false">urn:md5:d871a62fbb0523575ed4abbfc7dad552</guid>
    <pubDate>Thu, 10 Apr 2008 22:17:38 +0200</pubDate>
    <dc:creator>Eric</dc:creator>
    
    <description>&lt;p&gt;Calme, ces navigateurs ne sont pas encore sortis alors laisse le temps aux bibliothèques d'intégrer les nouveautés. Quand au moins un de ces navigateurs sera publié, là on pourra regarder car (malheureusement) certaines lib implémenteront un fallback.&lt;/p&gt;


&lt;p&gt;Je dis malheureusement parce que getElementsBy* est le genre de fonctionnalités qu'on ne pourra pas implémenter en javascript. Si fallback il y a il sera incomplet ou différent de la spec et de l'implémentation des navigateurs.&lt;/p&gt;


&lt;p&gt;Le problème vient du fait que les navigateurs retournent des listes de noeuds &quot;live&quot;, qui sont impactées par les changements dans le DOM. Les bibliothèques ne peuvent que retourner des tableaux statiques contenant des références vers les noeuds DOM.&lt;/p&gt;


&lt;p&gt;Demander aux bibliothèques javascript d'implémenter getElementsByClassName quand le navigateur ne le supporte pas c'est leur demander de faire de violer les specs et d'avoir des implémentations divergeantes.&lt;/p&gt;


&lt;p&gt;Ils ont choisi de ne pas le faire, et ils ont raison là dessus. Si tu veux un tableau statique de noeuds DOM, toutes ces bibliothèques ont déjà des méthodes pour ça.&lt;/p&gt;</description>
  </item>
      
</channel>
</rss>