J'essaie de supprimer jquery de mon application Angular.js afin de l'alléger, et de mettre le jqLite d'Angular à la place. Mais l'application fait un usage intensif de find ('# id') et find ('.classname'), qui ne sont pas pris en charge par jqLite, uniquement 'tag names' (selon la documentation)
Je me suis demandé quelle serait la meilleure approche pour le changer. Une approche à laquelle j'ai pensé est de créer des balises HTML personnalisées. par exemple: changer
<span class="btn btn-large" id="add-to-bag">Add to bag</span>
à
<a2b style="display:none;"><span class="btn btn-large" >Add to bag</span></a2b>
et
$element.find('#add-to-bag')
à
$element.find('a2b')
Des pensées? d'autres idées?
Merci
Lior
a2b
élément, vous devez avoir défini une directive. Pouvez-vous faire ce qui doit être fait dans la fonction de lien de la directive, et ainsi éviter le besoin d'appeler entièrement find ()? De même avec vos classes - pouvez-vous définir des directives et mettre les fonctionnalités dont vous avez besoin dans les fonctions de liaison (ou de compilation) des directives?
DomElement.querySelector(".myclassname")
pour sélectionner un élément décendant unique à l'aide d'un sélecteur css, ou tout ce qui correspond en y ajoutant Tout:DomElement.querySelectorAll(".myclassname")
cela ne fonctionne bien sûr pas dans IE <9.