Daha hafif hale getirmek için Angular.js uygulamamdan jquery'yi kaldırmaya ve bunun yerine Angular'ın jqLite'ını koymaya çalışıyorum. Ancak uygulama, jqLite tarafından desteklenmeyen find ('# id') ve find ('.classname') öğelerini yoğun bir şekilde kullanır, yalnızca 'etiket adları' (belgelere göre)
Bunu değiştirmek için en iyi yaklaşımın ne olacağını merak ettim. Düşündüğüm bir yaklaşım, özel HTML etiketleri oluşturmaktır. örneğin: değiştir
<span class="btn btn-large" id="add-to-bag">Add to bag</span>
için
<a2b style="display:none;"><span class="btn btn-large" >Add to bag</span></a2b>
ve
$element.find('#add-to-bag')
için
$element.find('a2b')
Düşüncesi olan var mı? diğer fikirler?
Teşekkürler
Lior
a2b
eleman tanımlarsanız , bir yönerge tanımlamış olmanız gerekir. Direktifin link fonksiyonunda yapılması gerekeni yapabilir ve bu nedenle find () 'ı çağırma ihtiyacını tamamen ortadan kaldırabilir misiniz? Sınıflarınıza benzer şekilde - yönergeleri tanımlayabilir ve ihtiyacınız olan işlevselliği yönergelerin bağlantı (veya derleme) işlevlerine koyabilir misiniz?
DomElement.querySelector(".myclassname")
bir css seçici kullanarak tek bir tanımlayıcı öğeyi seçmek için veya Tümü ekleyerek tüm eşleşmeleri seçmek için kullanabilirsiniz :DomElement.querySelectorAll(".myclassname")
Bu, elbette IE <9'da çalışmaz.