Javascript-форум (https://javascript.ru/forum/)
-   Ваши сайты и скрипты (https://javascript.ru/forum/project/)
-   -   Парсинг селекторов (https://javascript.ru/forum/project/23924-parsing-selektorov.html)

x-yuri 26.12.2011 15:37

Цитата:

Сообщение от devote
Позволю себе поднять тему. Хотел спросить, какие селекторы вы используете чаще всего в своих проектах?

/^(\.|#)[a-z0-9-]+$/i. Другие варианты скорее как исключение, например, по имени тега 'input', по наличию атрибута '[placeholder]'.

Kolyaj 26.12.2011 15:46

Только по имени класса, иногда каскад из двух классов.

x-yuri 26.12.2011 18:00

Цитата:

Сообщение от Kolyaj
Только по имени класса, иногда каскад из двух классов.

а ты все компоненты расшариваешь на весь проект? Нету компонентов, специфичных для страницы?

Kolyaj 26.12.2011 18:12

Цитата:

Сообщение от x-yuri
Нету компонентов, специфичных для страницы?

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

x-yuri 26.12.2011 19:34

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

а как ты поступаешь с контентом который изначально генерируется статически, а потом к нему надо добавить js-функциональность? Например, текстовое поле, выпадающий список для которого подгружается через ajax. Либо, например, кроссбраузерная поддержка атрибута placeholder. По идее, твои компоненты предполагают, что при создании они создают html-код, а не привязываются к существующему.

B~Vladi 26.12.2011 21:00

Цитата:

Сообщение от x-yuri
а как ты поступаешь с контентом который изначально генерируется статически, а потом к нему надо добавить js-функциональность?

Я извиняюсь, что встреваю в ваш разговор, но всё же хочу сказать, что я уже давно говорил (и не только тут) об одном удачном подходе, даже начал писать фреймворк.
Предлагаю привязываться к пространствам имен (использование кастомных тегов и атрибутов, xhtml). Никто никому не мешает и все счастливы :)

Спасибо, продолжайте :write:

x-yuri 26.12.2011 21:10

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

Kolyaj 27.12.2011 10:30

Давай тогда определимся: чем специфичный компонент может отличаться от расшаренного компонента.

Цитата:

Сообщение от x-yuri
а как ты поступаешь с контентом который изначально генерируется статически, а потом к нему надо добавить js-функциональность? Например, текстовое поле, выпадающий список для которого подгружается через ajax. Либо, например, кроссбраузерная поддержка атрибута placeholder. По идее, твои компоненты предполагают, что при создании они создают html-код, а не привязываются к существующему.

Проблема не понятна.

x-yuri 27.12.2011 15:45

Цитата:

Сообщение от Kolyaj
Давай тогда определимся: чем специфичный компонент может отличаться от расшаренного компонента.

тем, что его область видимости ограничена, т.е. ты знаешь, что он используется только на определенной странице (ограниченный набор файлов), а не по всему проекту

Цитата:

Сообщение от Kolyaj
Проблема не понятна.

речь об unobtrusive javascript подходе. Сначала мы делаем, чтобы работало без js. Например, форма. А потом надо добавить к текстовому полю выпадающий список и надо завернуть это текстовое поле в span. Можно либо 1) заменить поле на новую html-разметку, либо 2) то же самое, но сохранить это поле и вставить его в середину этой html-разметки.

Kolyaj 27.12.2011 15:50

Цитата:

Сообщение от x-yuri
тем, что его область видимости ограничена

Что такое область видимости для компонента? CSS, например, в любом случае будет глобальным, его не спрятать.

Цитата:

Сообщение от x-yuri
речь об unobtrusive javascript подходе. Сначала мы делаем, чтобы работало без js.

Подход устарел. Пользователей без JS исчезающе мало, гораздо меньше, чем пользователей IE6, например. Значительно усложнять разработку ради гиков с noscript-ом смысла нет.


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