Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 10.01.2010, 12:35
Аватар для PeaceCoder
Профессор
Отправить личное сообщение для PeaceCoder Посмотреть профиль Найти все сообщения от PeaceCoder
 
Регистрация: 15.12.2009
Сообщений: 742

Сообщение от Michael83
получается у jQuery выборка по #ID занимает 3 мс / 100 итераций = 0.03 мс а у вас 0.05 пока jQuery выигрывает.
Я еще до конца не оптимизировал. + Вы сравниваете мою машину и вашу. И еще не известно в каком браузере. На моей машине #ID с jQuery ~ равны. И в данном случае я планирую сделать такие выборки которые jQuery не по зубам. Или по зубам но они будут долгими. Когда реализую, отпишу возможности время выполнения и ~ размер кода

Последний раз редактировалось PeaceCoder, 10.01.2010 в 12:40.
Ответить с цитированием
  #12 (permalink)  
Старый 11.01.2010, 02:26
Интересующийся
Отправить личное сообщение для Michael83 Посмотреть профиль Найти все сообщения от Michael83
 
Регистрация: 05.01.2010
Сообщений: 28

прикольно, буду ждать с интересном
Ответить с цитированием
  #13 (permalink)  
Старый 13.01.2010, 19:15
Аватар для PeaceCoder
Профессор
Отправить личное сообщение для PeaceCoder Посмотреть профиль Найти все сообщения от PeaceCoder
 
Регистрация: 15.12.2009
Сообщений: 742

Скрипт еще в разработке но могу уже привести некоторые результаты

вот такой селектор
TABLE#`child` >(:2,4:6,8:) (((DIV:#(:-10,-4:-2,-0) ~-1:2)(B,A({title!=`Гыгы`i},[height='100px'])),U){title=`^До\`бро`i}) +2, SPAN.!`window`i <1:4 A


раскладывается на 31 комбинацию селекторов за:
0.0023мс в Chrome,
0.0063мс в MZ,
0.01мс Opera,
0.9мс в Safari
5-6мс в IE8

Селектор составлен хатично для показа максимума. Планируется ввести выборку по регулярке(`JSRegExp`[igm]), по атрибутам, свойствам и значениям стилей. Также в командах >,+, и новой задуманной мной < есть уровни вложенности проверок. Например, одна из возможностей, "TABLE >3:6 A" будет искать все A которые находятся в TABLE и уровень родителя TABLE не ближе 3 и не дальше 6. Позже распишу подробнее.

Последний раз редактировалось PeaceCoder, 13.01.2010 в 19:19.
Ответить с цитированием
  #14 (permalink)  
Старый 13.01.2010, 19:31
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Сообщение от PeaceCoder
"TABLE >3:6 A" будет искать все A которые находятся в TABLE и уровень родителя TABLE не ближе 3 и не дальше 6.
только кто, кроме тебя, захочет разбираться в каком-то новом хитром синтаксисе селекторов, когда стандартизированных CSS и XPath больше чем достаточно?
Ответить с цитированием
  #15 (permalink)  
Старый 13.01.2010, 19:53
Аватар для PeaceCoder
Профессор
Отправить личное сообщение для PeaceCoder Посмотреть профиль Найти все сообщения от PeaceCoder
 
Регистрация: 15.12.2009
Сообщений: 742

Сообщение от Octane
олько кто, кроме тебя, захочет разбираться в каком-то новом хитром синтаксисе селекторов
именно. он не нов. а расширен. все что умеет jQuery будет иметь и мой.
Ответить с цитированием
  #16 (permalink)  
Старый 13.01.2010, 21:58
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

PeaceCoder,
а зачем такие селекторы вообще нужны?
Ответить с цитированием
  #17 (permalink)  
Старый 13.01.2010, 22:51
Аватар для PeaceCoder
Профессор
Отправить личное сообщение для PeaceCoder Посмотреть профиль Найти все сообщения от PeaceCoder
 
Регистрация: 15.12.2009
Сообщений: 742

Сообщение от Kolyaj
а зачем такие селекторы вообще нужны?
а зачем селекторы вообще нужны? если есть селекторы, значит надо их сделать на максимум
А вообще, для ускорения выборки и точности фильтра.
Ответить с цитированием
  #18 (permalink)  
Старый 14.01.2010, 11:58
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от PeaceCoder
а зачем селекторы вообще нужны?
Да я хз. Мне tagName+className без каскадов всегда хватало. А вот такие сложные так вообще не могу представить где бы понадобились.
Ответить с цитированием
  #19 (permalink)  
Старый 14.01.2010, 13:33
Интересующийся
Отправить личное сообщение для Michael83 Посмотреть профиль Найти все сообщения от Michael83
 
Регистрация: 05.01.2010
Сообщений: 28

Сообщение от Kolyaj Посмотреть сообщение
Да я хз. Мне tagName+className без каскадов всегда хватало. А вот такие сложные так вообще не могу представить где бы понадобились.
Полностью согласен, я для очень сложных вещей обычно использую несколько селекторов типа этого
$('#someid .clazz[attr=some]').each(function() {
  var $this = $(this);
  if ($this.is('...selector...') {
    $this.find('...another..selector...')...
    ...
  } else {
    ...
  }
})


Это конечно не значит что я не знаю всех возможностей селекторов, просто частенько получается так что напишешь супер-чудо-селектор, а потом на след. неделю уже не сможешь с ходу понять и вспомнить как тут и что. тем более не думаю что производительность в приведенном выше коде ощутимо хуже, по сути тот же js выполняется
Ответить с цитированием
  #20 (permalink)  
Старый 14.01.2010, 15:33
Аватар для PeaceCoder
Профессор
Отправить личное сообщение для PeaceCoder Посмотреть профиль Найти все сообщения от PeaceCoder
 
Регистрация: 15.12.2009
Сообщений: 742

Сообщение от Michael83
я для очень сложных вещей обычно использую несколько селекторов
плиз приведите пример из практики именнос с точными названиями селекторов. хочу попробовать сэмулировать "мой" запрос не прибегая к таким вот ухищрениям.
Сообщение от Michael83
ем более не думаю что производительность в приведенном выше коде ощутимо хуже
ощутимо хуже. на порядок точно т.к. для каждого полученного элемента Вы проверяете не является ли он чемто + создаете новый обьект с новым запросом и не факт того, что будет хоть какой то результат. а если резултата нет, время между первым и запросом и обработкой "духов" потрачено впустую (все команды each)

Последний раз редактировалось PeaceCoder, 14.01.2010 в 15:37.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
jQuery Click() не работает на объекте, созданном Ajax vovabigov jQuery 13 09.09.2012 14:25
jquery - Как получить полный путь? kirill.adw jQuery 5 20.11.2009 17:40
На много ли код jQuery медленнее чистого javascript format1981 jQuery 8 06.11.2009 10:42
JQuery + FireFox NOOB jQuery 4 02.11.2009 18:16
Как правильно подгрузить jQuery Siton jQuery 4 15.06.2009 09:54