Я пытаюсь удалить jquery из своего приложения Angular.js, чтобы сделать его светлее, и вместо этого поставил jqLite от Angular. Но приложение интенсивно использует find ('# id') и find ('.classname'), которые не поддерживаются jqLite, а только 'имена тегов' (согласно документации)
Интересно, что, по вашему мнению, было бы лучшим способом изменить это. Один из подходов, о котором я подумал, - это создание собственных HTML-тегов. например: изменить
<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>
и
$element.find('#add-to-bag')
к
$element.find('a2b')
Есть предположения? другие идеи?
Спасибо
Лиор
a2b
элемент, вы должны определить директиву. Можете ли вы сделать то, что нужно сделать в функции ссылки директивы, и, следовательно, полностью избежать необходимости вызывать find ()? Точно так же и с вашими классами - можете ли вы определить директивы и добавить нужную функциональность в функции ссылки (или компиляции) директив?
DomElement.querySelector(".myclassname")
для выбора одного дочернего элемента с помощью селектора css или всего соответствия, добавив к нему All:DomElement.querySelectorAll(".myclassname")
это, конечно, не работает в IE <9.