Зачем верстать по айдишникам?
2195 сообщений
#15 лет назад
elosoft, Цитата:
А при чем тут родитель? В нем могут быть и чекбоксы которыми не нужно управлять. Вы предлагаете писать 100 условий?
Предлагаю обсуждать реальные задачи, а не придумывать невыполнимые условия. Разумеется, программист тоже может задавать какие-то свои классы, и это как раз тот самый организационный вопрос - в идеале они не должны пересекаться с версткой.
Т.е., если у верстальщика есть <input type="checkbox" class="checkbox"/>, то программист может превратить в что-нибудь подобное:<input type="checkbox" class="checkbox quizItem"/>
А вот верстальщику задавать id совсем нежелательно, так как приоритет выше у js-разработчика/
Цитата:
И почему jquery отдельный вопрос? Это обычный javascript и работает как и все остальное. То, что он скрывает от вас часть обработки, ничего не меняет.
jquery ориентирована на работу с селекторами. Отнюдь не все js-программисты разделяют этот подход, а в крупных проектах зачастую работать приходится с совсем другими фреймворками. Ext JS, например.
2989 сообщений
#15 лет назад
Цитата ("Sir_Michael"):Предлагаю обсуждать реальные задачи
Это абсолютно реальная и, кстати, очень типичная задача.
Цитата ("Sir_Michael"):
jquery ориентирована на работу с селекторами.
Селеторы jquery это всего лишь выборка в массив по какому-то признаку элементов документа стандартными средствами javascript. И больше ничего.
зы
Цитата ("Sir_Michael"):
Т.е., если у верстальщика есть <input type="checkbox" class="checkbox"/>, то программист может превратить в что-нибудь подобное:<input type="checkbox" class="checkbox quizItem"/>
А если Вы считаете, что документ надо организовывать такими методами, Вы должны это все описать и довести до всех исполнителей.
2195 сообщений
#15 лет назад
elosoft, Цитата:
Это абсолютно реальная и, кстати, очень типичная задача.
Почему-то никогда не сталкивался с подобным. Если можно, продемонстрируйте на существующем проекте. Вместе посмотрим, покажу как бы я решал подобную задачу.
Цитата:
Селеторы jquery это всего лишь выборка в массив по какому-то признаку элементов документа стандартными средствами javascript. И больше ничего.
Селекторы в jquery - это как раз все. Именно работой с селекторами она и привлекает разработчиков. Ядро jQuery - функция jQuery(). И практически вся работа построена на ней.
Цитата:
А если Вы считаете, что документ надо организовывать такими методами, Вы должны это все описать и довести до всех исполнителей.
Не считаю. Это пример решения вашей задачи.
2989 сообщений
#15 лет назад

Цитата ("Sir_Michael"):
Почему-то никогда не сталкивался с подобным. Если можно, продемонстрируйте на существующем проекте.
Вот например. Последние 3 дня как раз этим занимался. Тут один чекбох, который управляет состояниями всех остальных сразу. У управляемых чекбоксов только один общий признак - класс. Имейте ввиду, что это не одна спошная таблица, просто так выглядит, даже классов у строк таблиц несколько.
Цитата ("Sir_Michael"):
Селекторы в jquery - это как раз все. Именно работой с селекторами она и привлекает разработчиков. Ядро jQuery - функция jQuery(). И практически вся работа построена на ней.
Еще раз повторю: jquery обычный javascript и внутри него все решается только средствами javascript.
Цитата ("Sir_Michael"):
Это пример решения вашей задачи.
Это не пример решения моей задачи. Это пример, как должен организовывать работу руководитель проекта. Именно он должен определять как должны решаться все критические и двусмысенные вопросы и следить за их выполнением.
2195 сообщений
#15 лет назад
$("#checkboxId").click(function() {
$("#родитель").find("input").toggleClass("hidden");
});
Похоже я уперся в стену. И уже не понимаю что вы говорите.
Цитата:
Еще раз повторю: jquery обычный javascript и внутри него все решается только средствами javascript.
И что? Любая js библиотека - это обычный javascript.
Большая часть строк в коде с использованием jQuery будет выглядеть так: $( selector, );
Приятно вот так одной строчкой повесить событие на какой-то элемент и даже произвести какое-то действие. Удобно добавлять-убирать классы.
jQuery - это удобная работа с селекторами, немного анимации и чуть-чуть ajax. А привлекает она именно первым.
Цитата:
Это не пример решения моей задачи. Это пример, как должен организовывать работу руководитель проекта. Именно он должен определять как должны решаться все критические и двусмысенные вопросы и следить за их выполнением.
Есть строго определяемый codestyle внутри команды, допустим, его определяет сферический руководитель. А есть общепринятые практики. Их много, и большинство рекомендует изабавляться от наследования и id в css. О них мы и говорим, откуда взялся руководитель проекта непонятно.
За сим заканчиваю. Пользы от форума все равно нет.
2989 сообщений
#15 лет назад
Цитата ("Sir_Michael"):$("#checkboxId"...
Вот это внутри jquery означает выделение из параметра id и поиск в документе элементов с этим id через стандартные функции javascript для работы с dom. Вы упираетесь в способ написания этих функций, но внутри jquery все это разберется на отельные параметры и функции и будет последовательно выполняться. Все подобные библиотеки сокращают внешнюю форму записи, но не изменяют реальное выполнение. Где-то внутри библиотеки будут вызваться функции типа getElementById, getElementsByName, будут циклы которые перебирают элементы документа если их нельзя найти стандартными функциями javascript и т.д. и т.п. Ajax и анимация - это просто приятное и удачное дополнение. Хотя на признать, что анимация в jquery очень удачная, не дергается, не прыгает, как бывает в других библиотеках.
Цитата ("Sir_Michael"):
А есть общепринятые практики. Их много, и большинство рекомендует изабавляться от наследования и id в css.
Это всего лишь согласие с чьим-то когда-то высказанным мнением. Пройдет год-другой и появятся другие мнения.
Цитата ("Sir_Michael"):
откуда взялся руководитель проекта непонятно.
Кто-то должен в реальной работе расставить точки над i и взять на себя отвественность за конечное решение. Просто так коллетив никогда не договориться, один любит так, другой эдак, один привык эдак, другой так - короче лебедь, рак и щука. Например, мы здесь вряд ли придем к согласию, хотя может и достигнем взаимопонимания

1807 сообщений
#15 лет назад
Короче я бы подрезюмировал....Товарищи верстальщики - пользуйтесь классами и ЗАБУДЬТЕ про айдишники. Всё, что вы хотите реализовать через айдишник, можно реализовать с помощью классов. АБСОЛЮТНО ВСЁ.Товарищи программисты - спокойно юзайте свободные от верстальщицких рук айдишники, выстраивая логику скриптов так, как Вам хочется.
Ура, щастье, радуга, лошадки...

578 сообщений
#15 лет назад
Итого для верстальщика существует два варианта (по шагам):----- 1й вариант
1. открыть хтмлю и приписать тегу с классом sometag и айдишкой anyId новый айди modification1
3. открыть цсс и под стандартным классом sometag дописать класс .sometag #modification1 {}
----- 2й вариант
1. открыть хтмлю и у одного из тегов класса sometag изменить класс на типа sometag-mod1
2. открыть цсс и под классом sometag задать новый класс sometag-mod1 {}
----- итого и там и там я вижу равное количесвто трудозатрат и одинаковую читаемость
между тем кодеру может потребоваться менять сотню строк где явным образом указывался anyId того самого тега
2989 сообщений
#15 лет назад
Цитата ("vladmax"):итого и там и там я вижу равное количесвто трудозатрат и одинаковую читаемость
Золотые слова

Вот если все систематезировать до начала проекта, вот тогда может и будет выгода.
578 сообщений
#15 лет назад
Цитата ("elosoft"):управляемых чекбоксов только один общий признак - класснаверное у них есть еще класс формы и можно написать .formclass INPUT {} и для единственного еще инпута (остальное у вас 2 селекта и текстарея я так понимаю) прописать как исключение отдельный класс типа .nazvanie {} .
105 сообщений
#15 лет назад
Можно легко обойтись и без ID, но если очччень хочется, то:Ничто не мешает изменить ID как в CSS файле, так и в самом JS.
Как правило, в объектно написанном JS искомый ID фигурирует единожды, при объявлении переменной. Потом в функциях используется только ИМЯ переменной.
Т.е. нужно 1 раз изменить значение ID в JS файле.
Конечно, бывают сжатые JS файлы, и т.д.
В этом случае так-же легко меняем ID в CSS и на странице.
За все время только 2 раза столкнулся с необходимостью сменить ID элемента.
Даже в большом проекте с двумя десятками шаблонов это занимает не более 5-ти минут.
Вывод: ID vs CLASS как и DIV vs TABLE это вопрос религии.
А спорить с адептами - занятие бессмысленное и бесконечное)
1807 сообщений
#15 лет назад
2frags, вопрос сводится к следующему - если классы НИКОМУ не мешают, а айдишники МОГУТ создать неудобства, a при этом классами можно реализовать любую задачу CSS, то ЗАЧЕМ вообще, кроме тех самых "религиозных" убеждений, использовать айдишники?Вопрос не сводится к тому, можно использовать айдишники, или нет, ясное дело можно...Вопрос в следующем - ЗАЧЕМ?
88 сообщений
#15 лет назад
Вот вы заладили, прочел все ужаснулся. Че вы докопались к этим id / class. По мне если ты не дурак ты и так поймешь, и договоришься с любым програмером. И вообще когда ты верстаешь, ты же айди не на бум придумываешь типа "saw23dmsa12k3jskd" а делаете определенное название тому или иному элементу. Поэтому всегда можно в любой верстке разобраться.Вообще дискуссия не о чем. Я могу так же рассуждать, зачем кидают мусор на улице, если есть бачки? Зачем пристегиваться в автомобиле, если он тонирован? Везде играет человеческий фактор, не думаю что каждый в жизни делает что-то по правилам

2195 сообщений
#15 лет назад
YehBr, и вы ничего не поняли.Если верстальщик верстает блок навигации в шапке и пишет id в таком блоке:
<ul id="menu">
<li><a href="#">Home</a></li>
...
</ul>
Он еще не готов к командной работе или к верстке серьезных проектов. В следующем макете этот же блок может всплыть в футере.
И есть примеры, когда дублируются те же, казалось бы одиночные, элементы как шапка и футер.
Если он верстает форму и уже научился тегу label (а 95% верстальщиков на weblancer.net как будто не подозревают о его существовании вообще) и старательно прописывает атрибуты id и for в примерно такой конструкции:
<label for="username">Name:</label> <input type="text" id="username"/>
то тем более не готов
2frags это вопросы не религии, а как раз практики. Только нужно один раз понять о чем речь
2195 сообщений
2989 сообщений
#15 лет назад
Цитата ("vladmax"):наверное у них есть еще класс формы и можно написать .formclass INPUT {} и для единственного еще инпута ........
Да придумать можно много чего

А использовать в css можно все, что не запрещено. Вопрос то не в этом. Вопрос что именно и как использовать, чтобы получить возможность последующих изменений с минимальными затратами.
5330 сообщений
#15 лет назад
Цитата ("nehovaysyatopol"):пользуйтесь классами и ЗАБУДЬТЕ про айдишники
ну это лично Ваше мнение, которое на практике грозит гемороем и непонятными говнокодами и конструкциями
578 сообщений
#15 лет назад
Плнета Земля, 2014 год.в новом стандарте 3GHTML упразднен атрибут id и введено 2 новых атрибута, которые могут присваиваться тегу:
- id4coder
- id4maker
первый наследует все рестрикты старого id, второй напротив допускает многократное использование в поле видимости одного документа нескольких id4maker с одинаковым значеинем....
Планета умиленно утирает свою скупую (женскую?) слезу...
2195 сообщений
#15 лет назад
ArtPro, а вы топик читали, или просто так написали? Где аргументация.