Цитата:
Цитата:
|
Цитата:
Вот еще один пример применения новой команды. Допустим есть блок в котором хаотично расположены элементы с нужным классом. И допустим в этих элементах куча других элементов. Сколько их неизвестно. Задача: нужно, например, чтото делать с элементом нужного класса (необязательно :hover|:active изменение стилей), когда мышью водят/кликают над этим элементом при этом надо получить этот элемент и не факт что в этом спец элементе не будет такого же спец элемента. как вы будете решать такую задачу ? а выбрать надо всего 1 нужный блок причем с определенными параметрами <div id='блок'> хаотично расположенные элементы (много, в том числе и спец блоки с нужным классом) <div class="нужныйБлок"> тут куча элементов и детей + тут тоже могут быть теже "нужные блоки" </div> ... </div> |
Цитата:
Я уж не говорю о том, что никаких #id-шников в CSS быть не должно, хоть это к теме и не относится, больной вопрос у меня просто :) |
Цитата:
|
У селекторов с #id очень высокий вес и их практически невозможно перебить селектором без какого-нибудь #id. Попадаются умники, которые каскады из #id-шников делают. Теперь представь ситуацию, верстальщик понаписал правил для списков, вроде
#page #content ul { list-style-type: none; }А тебе понадобилось на одной странице сделать список с буллетами. Ты не сможешь просто написать .mylist { list-style-type: circle; }Точнее сначала ты такое напишешь, потом будешь разбираться, почему не работает, потом обнаружишь, что вышестоящее правило в 20 раз сильнее, и чтобы его перебить, тебе нужно добавить в селектор еще 2 #id-шника. А если нужно сделать специфический блок, которые может находится в любом месте страницы, то всё становится ещё хуже. |
Kolyaj спасибо.
|
Хе хе. а в 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? |
jQuery-ненавистнег
|
Цитата:
Это видно по примеру. элемента нет а выборка занимает почти 1 мс в MZ. А ие там вообще загнется. В связи с этим сейчас думаю как быстро пресечь вот такие вот баги. |
Цитата:
функция initTopMenu начиная со строки $('#navigation .nav-item').each( function() хотя пример не очень там внутри цикла кроме выборки еще и другая логика В общем я не говорю, что вы зря этим занимаетесь, здесь в другом дело - как часто вообще люди применяют НАСТОЛЬКО сложные серекторы? нужно ли это? ведь как писали выше если нормально сверстано, то и запросы проще будут. и ваши выдуманные ужасные случаи когда там элемент затерялся среди других и его выцеплять надо чуть ли не по номеру строки в файле это такая редкость, что решать такие проблемы надо не такими же ужасными серекторами а изменением верстки. Мне очень интересно что у вас получится. |
Часовой пояс GMT +3, время: 07:19. |