Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #21 (permalink)  
Старый 14.01.2010, 19:20
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

Сообщение от Kolyaj
PeaceCoder,
а зачем такие селекторы вообще нужны?
ну, по-моему, очевидно. Чтобы можно было сказать: "А вот мой фреймворк..."

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

Сообщение от x-yuri
не это напомнило легенду о мастерах Мурамаса и Масамунэ
плохое сравнение. я же не делаю то что быдет хуже jQ а наоборот.
Вот еще один пример применения новой команды.
Допустим есть блок в котором хаотично расположены элементы с нужным классом. И допустим в этих элементах куча других элементов. Сколько их неизвестно. Задача: нужно, например, чтото делать с элементом нужного класса (необязательно :hover|:active изменение стилей), когда мышью водят/кликают над этим элементом при этом надо получить этот элемент и не факт что в этом спец элементе не будет такого же спец элемента. как вы будете решать такую задачу ? а выбрать надо всего 1 нужный блок причем с определенными параметрами
<div id='блок'>
хаотично расположенные элементы (много, в том числе и спец блоки с нужным классом)
  <div class="нужныйБлок">
  тут куча элементов и детей + тут тоже могут быть теже "нужные блоки"
  </div>
  ...
</div>
Ответить с цитированием
  #23 (permalink)  
Старый 15.01.2010, 09:14
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от PeaceCoder
как вы будете решать такую задачу ?
Когда говорится, что селекторы не нужны, имеется в виду, что они не нужны при нормальной вёрстке. А если по-хорошему верстать, то и в самом CSS-то каскады не нужны, не то, что в JavaScript.

Я уж не говорю о том, что никаких #id-шников в CSS быть не должно, хоть это к теме и не относится, больной вопрос у меня просто
Ответить с цитированием
  #24 (permalink)  
Старый 15.01.2010, 11:47
Аватар для micscr
Профессор
Отправить личное сообщение для micscr Посмотреть профиль Найти все сообщения от micscr
 
Регистрация: 10.09.2009
Сообщений: 1,578

Сообщение от Kolyaj Посмотреть сообщение
Я уж не говорю о том, что никаких #id-шников в CSS быть не должно, хоть это к теме и не относится, больной вопрос у меня просто
почему? (в смысле быть не должно)
Ответить с цитированием
  #25 (permalink)  
Старый 15.01.2010, 12:06
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

У селекторов с #id очень высокий вес и их практически невозможно перебить селектором без какого-нибудь #id. Попадаются умники, которые каскады из #id-шников делают. Теперь представь ситуацию, верстальщик понаписал правил для списков, вроде
#page #content ul { list-style-type: none; }
А тебе понадобилось на одной странице сделать список с буллетами. Ты не сможешь просто написать
.mylist { list-style-type: circle; }
Точнее сначала ты такое напишешь, потом будешь разбираться, почему не работает, потом обнаружишь, что вышестоящее правило в 20 раз сильнее, и чтобы его перебить, тебе нужно добавить в селектор еще 2 #id-шника. А если нужно сделать специфический блок, которые может находится в любом месте страницы, то всё становится ещё хуже.
Ответить с цитированием
  #26 (permalink)  
Старый 15.01.2010, 12:36
Аватар для micscr
Профессор
Отправить личное сообщение для micscr Посмотреть профиль Найти все сообщения от micscr
 
Регистрация: 10.09.2009
Сообщений: 1,578

Kolyaj спасибо.
Ответить с цитированием
  #27 (permalink)  
Старый 15.01.2010, 18:24
Аватар для PeaceCoder
Профессор
Отправить личное сообщение для PeaceCoder Посмотреть профиль Найти все сообщения от PeaceCoder
 
Регистрация: 15.12.2009
Сообщений: 742

Хе хе. а в jQ боооольшой баг =)))
создал документик с 1 DIV#id123
и сделал такую выборку
alert('Элемент #id1234567890 в документе '+(document.getElementById('id1234567890') ? '':'не')+'существует');
T=(new Date()).getTime();

  for (i=0;i<1000;i++) $('#id1234567890 TABLE DIV B A U B A TABLE DIV *');

  alert('Время выборки: '+((new Date()).getTime()-T)/1000+'ms');


Как вам такой баг? Вы еще пользуетесь jQ?

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

jQuery-ненавистнег
Ответить с цитированием
  #29 (permalink)  
Старый 15.01.2010, 18:55
Аватар для PeaceCoder
Профессор
Отправить личное сообщение для PeaceCoder Посмотреть профиль Найти все сообщения от PeaceCoder
 
Регистрация: 15.12.2009
Сообщений: 742

Сообщение от Octane
jQuery-ненавистнег
не. не ненависнег. просто оч много багов в нем. вот и сообщаю. много лишней работы делает.
Это видно по примеру. элемента нет а выборка занимает почти 1 мс в MZ. А ие там вообще загнется.
В связи с этим сейчас думаю как быстро пресечь вот такие вот баги.
Ответить с цитированием
  #30 (permalink)  
Старый 15.01.2010, 19:14
Интересующийся
Отправить личное сообщение для Michael83 Посмотреть профиль Найти все сообщения от Michael83
 
Регистрация: 05.01.2010
Сообщений: 28

Сообщение от PeaceCoder
плиз приведите пример из практики именнос с точными названиями селекторов. хочу попробовать сэмулировать "мой" запрос не прибегая к таким вот ухищрениям.
вот например http://www.marimedia.ru/js/main.js
функция initTopMenu начиная со строки
$('#navigation .nav-item').each( function()
хотя пример не очень там внутри цикла кроме выборки еще и другая логика

В общем я не говорю, что вы зря этим занимаетесь, здесь в другом дело - как часто вообще люди применяют НАСТОЛЬКО сложные серекторы? нужно ли это? ведь как писали выше если нормально сверстано, то и запросы проще будут. и ваши выдуманные ужасные случаи когда там элемент затерялся среди других и его выцеплять надо чуть ли не по номеру строки в файле это такая редкость, что решать такие проблемы надо не такими же ужасными серекторами а изменением верстки.

Мне очень интересно что у вас получится.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
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