Javascript-форум (https://javascript.ru/forum/)
-   ExtJS (https://javascript.ru/forum/extjs/)
-   -   Навигация по DOM (Ext 4) (https://javascript.ru/forum/extjs/21593-navigaciya-po-dom-ext-4-a.html)

yo-y0 16.09.2011 16:29

Навигация по DOM (Ext 4)
 
Потихоньку начинаю учить ExtJS. Особых проблем пока не возникло. Вроде все логично, более-менее документировано и снабжено работающими примерами.
Но уперся в навигацию по DOM. После jQuery продраться никак не могу,
Как получить результат аналогичный jQuery:
var e=$('#id');
e.find(...)

Black_Prince 19.09.2011 13:06

//получение инпутов с именем from_date
var elems = Ext.query('input[name=from_date]');
//получение элементов склассом some_class
var elems = Ext.query('.some_class');

for(var i=0; i<elems.length; i++)
{
    //something to do here
}

//в принципе через query можно так же получить и элемент с опредленным id через #, но для этого есть фунцкия get
//получение ээлемента с идентификатором id1
var element = Ext.get('id1');
//set back color to elem, for example
element.setStyle({
           'background-color': '#FF0000'
       });

yo-y0 19.09.2011 15:50

Здорово конечно. Но больно геморройно.
Я так понял, что в Ext вообще нет легких путей для поиска в [Composite]Elements дочерних элементов аналогичных find в jQuery. Во немногочисленных примерах требуются циклы и преобразования Elements в DOM и обратно?

ilshat 20.09.2011 07:40

Цитата:

Во немногочисленных примерах требуются циклы и преобразования Elements в DOM и обратно?
На мой взгляд это не требуется.
взять элемент DOM -
Ext.get('dom_id')

взять компонент Ext
Ext.getCmp('ext_cmp_id')

yo-y0 20.09.2011 10:07

>На мой взгляд это не требуется.
Т.е. я так понял, что Ext - не предполагает надобность глубоко шариться по DOM - все что надо, зашито непосредственно в компоненты, а чего нет должно быть построено на тех же компонентах, в которых опять же все есть.

ilshat 20.09.2011 12:17

предполагает или не предполагает глубоко шариться по DOM - это на усмотрение разработчика... который может строить свое приложения исключительно на компонентах Ext либо использовать Ext.core для работы DOM элементами

однако если Ext чем и хорош так это своими визуальными компонентами. Если их не использовать то смысл использования экста отпадает сам собой))) И тут предпочтительнее и удобнее jquery

Black_Prince 20.09.2011 14:00

Вполне можно комбинировать Ext и Jquery. Они нормально друг с другом работают.

Единственная проблема здесь - Ext создает очень сильно вложенный ДОМ и со своими ID. поэтому обращение к дому используя jquery, созданному с помощью Ext, может быть проблематичным ;)

VKS 20.09.2011 22:11

http://www.sencha.com/learn/domquery-v11-basics/

Ex_Soft 22.09.2011 11:12

Цитата:

Сообщение от Black_Prince (Сообщение 127299)
Вполне можно комбинировать Ext и Jquery

/me думает: вот задлянафига устраивать винегрет? Что Вам такого в Ext'е нехватат, что Вы еще и jQuery хотите подрубить? Или просто "...для бандитского форсу..." (c)? Или Вам нравится создавать проблемы:
Цитата:

Сообщение от Black_Prince (Сообщение 127299)
Единственная проблема здесь - Ext создает очень сильно вложенный ДОМ и со своими ID. поэтому обращение к дому используя jquery, созданному с помощью Ext, может быть проблематичным ;)

, а потом героически их преодолевать?

yo-y0 22.09.2011 12:11

> Что Вам такого в Ext'е нехватат, что Вы еще и jQuery
Вообще-то, жизнь богата. У меня одна из подзадач не укладывается в то что есть в Ext.
Вопрос снимаю.
Всем спасибо за ответы.
Особенно вам, Ильшат


Часовой пояс GMT +3, время: 09:05.