Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   JQuery: как выбрать по id в переменной (https://javascript.ru/forum/misc/50727-jquery-kak-vybrat-po-id-v-peremennojj.html)

kostyanet 09.10.2014 14:31

Про документ.райт, специалистам, вот так пишите:

document.write('<div id="my_[lovely]_square[brackets]">I hate you too</div>');

и все должно быть чики-пуки. На php так все и пишут, а иначе как эти теги из echo отрендерить - слэшить что ли? Никто так не делает.

kostyanet 09.10.2014 14:33

Цитата:

Сообщение от Ruslan_xDD
А мне вот кажется, что давать для ID значение с квадратными скобками - маразм.

Это не я, это такие правила php парсера заголовков. Типа не знали что ли?

Да, конечно, но сначала надо обосрать то что есть для энтузиазма. :)

voral 09.10.2014 14:39

Цитата:

Сообщение от kostyanet (Сообщение 334341)
Хорошо, тогда ПРИ ЧЕМ ТУТ getElementByID о котором в документации JQ написано с первых же строк? ЧТо они делают с аргументом перед тем как засунуть его в getElementById - если пишут что применяют именно API?

что ж не понятного то? Не было бы смысла вообще чего то городить если-бы это 100% повторяло АПИ. Вы же в записи $('#elId') передаете не ид элемента, а селектор в понимании jQuery. Этот селектор парсится на составляющие. Если среди оных будет найден id значит будет использован
getElementById. Т.е. все упирается в разбор селектора. И тут вы обязаны правильно оформлять селектор (в понимании jQuery - ибо оно и парсит).

Согласитесь если вы в регулярку воткнете "elId[0]" то тоже получите не то, что ожидаете.И если вы будете пользоваться регуляркой то вам потребуется подчинится правилам оформления регулярных выражений. Здесь все то же самое вы пользуетесь конкретным продуктом, так и следуйте его правилам. В чем проблема то?

Что то не доработано и не привычно? Так что с того, мне после С/С++ весь JavaScript тоже мозг выносит.. Только недавно стал привыкать.... Но зауши то ни кто не тянет.

kostyanet 09.10.2014 14:41

Цитата:

Сообщение от Ruslan_xDD
А мне вот кажется, что давать для ID значение с квадратными скобками - маразм.

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

А когда занялся то споров уже не было - в редких кусках кода только попадались решетки, дизайнеры сочли что классы все-таки лучше. Поэтому я сделал умозаключение что никакой нормальный человек не будет пихать решетку в свой css и стало быть id теперь нормальный явный ключ к элементу.

Прежде чем давать всякие там id конечно же начитался спецификаций и практики - потому что всякое бывает. Из практики вытекало что id может быть любым и у меня бывали случаи косяков в php когда скрипт фигачил одни только числа - все пахало как из пушки.

Ну то есть ассоциировать id и css может либо только очень-очень старый дизайнер, или очень-очень упертый. Я понимаю что jquery гавно древнее и именно с решеток все и началось. Но все-таки тренд давным давно такой, что надо отделять структуру от представления.

В общем х с ними, буду теперь иметь ввиду что JQ так и остался зарешеченым.

voral 09.10.2014 14:44

Цитата:

Сообщение от kostyanet (Сообщение 334349)
На php так все и пишут, а иначе как эти теги из echo отрендерить - слэшить что ли?

Если что то требует слеша в php используется addslashes. Чем js хуже? Проблема сточку кода написать? И к прототипу строк прицепить?

kostyanet 09.10.2014 14:46

Цитата:

Сообщение от voral
Этот селектор парсится на составляющие.

Тут просто разница мировоззрений. Я по классам сроду ничего не выбирал. Класс это стили - а что там еще? Это стили, это рендер, мало ли какой где класс - это не может касаться структуры. Поэтому полагал что если кто-то выбирает по ID - к представлению оно не может относиться.

Что касается повторять API - ну и что, зато все логично - по id нашли одномоментно завернули в свой контекст.

voral 09.10.2014 14:47

Цитата:

Сообщение от kostyanet (Сообщение 334356)
Вы давно занимаетесь уеб-дизайном?

Казалось бы при чем здесь "дизайн"......
Цитата:

Сообщение от kostyanet (Сообщение 334356)
Я - примерно год.

Все встало на свои места. вспомнилась присказка про молодого водителя:
Цитата:

Я за рулем уже месяц, а чайники уже задолбали.

kostyanet 09.10.2014 14:47

Цитата:

Сообщение от voral
Если что то требует слеша в php используется addslashes.

Не слушайте профана, никто щас эту хрень не юзает. Это десять лет назад было популярно. По каментам можете сами даже увидеть в рефе функции.

voral 09.10.2014 14:51

Хорошо я с 14 летним стажем программирования на php буду слушать гуру со стажем 1 год....

А если читать все комменты и бояться - придется от всех фунций отказываться. Надо мозгом думать, что, зачем и в каких ситуациях использовать.....

kostyanet 09.10.2014 14:56

То есть у меня систематически можно наблюдать такие перлы

<div class="thumbs" id="thumbs">

потому что я сделал стили .thumbs и присвоил, но чтобы найти элемент думаю про ID и добавляю ID, а чтобы не придумывать лишнего - такой же.

Значит в терминах JQ я должен сделать стили #thumbs и применять только один id="thumbs" и все будет оформлено. Нет, я как бы знал что оно есть, но ни разу не подумал что оно может быть применимо. У меня не срастается в голове понятие структуры и представления в один кусок. ID - это признак из домена структуры, а class - из домена представления. Как же я их соединю, а вдруг чего-то там не туда, и все такое... поэтому

<div class="thumbs" id="thumbs">

и пох, все на своих местах.


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