Главное меню
Мы солидарны с Украиной. Узнайте здесь, как можно поддержать Украину.

Как обломать jQuery

Автор Bhudh, июля 18, 2012, 00:44

0 Пользователи и 1 гость просматривают эту тему.

Bhudh

<...>
<p id="par_1"></p>
<p id="par_2"></p>
<...>
<script>
$('#par_1').append(text_1);
$('#par_2').append(text_2);
</script>

          ;up:


<...>
<p id="#"></p>
<...>
<script>
$('##').append(text_3);
</script>

         
Пиши, что думаешь, но думай, что пишешь.
MONEŌ ERGŌ MANEŌ.
Waheeba dokin ʔebi naha.
«каждый пост в интернете имеет коэффициент бреда» © Невский чукчо

RawonaM

ЦитироватьHTML4 id attribute

The ID and NAME elements must start with a letter i.e. upper case A to Z or lower case a to z; a number is not allowed. After the first letter any number of letters (a to z, A to Z), digits (0 to 9), hyphens (-), underscores (_), colons (:) and periods (.) are allowed.

fujhi

:fp:
У џКвери проблем никаких, проблемы только у Бода.
$('#\\#').append(text_3); или $('[id="#"]').append(text_3);

Надо документацию сначала читать, прежде, чем что-то заявлять:
ЦитироватьIf the id contains characters like periods or colons you have to escape those characters with backslashes.
Этот аккаунт официально заброшен. Связаться со мной можно по всё тому же адресу, [email]dmymd@yandex.ru[/email]. Всем пока!

Bhudh

Цитата: RawonaM от июля 18, 2012, 07:53
Цитата: HTML4 id attribute

The ID and NAME elements must start with a letter i.e. upper case A to Z or lower case a to z; a number is not allowed. After the first letter any number of letters (a to z, A to Z), digits (0 to 9), hyphens (-), underscores (_), colons (:) and periods (.) are allowed.
Вкурсе. Но в Опере document.getElementById('#') прекрасно работает :).
Кстати, document.getElementById('_') тоже, несмотря на.


Цитата: fujhi от июля 18, 2012, 08:27У џКвери проблем никаких
Цитата: Bhudh от июля 18, 2012, 00:26И прямо взять его jQuery уже не сможет
Прямо — это как getElementById(). Без дополнительных символов.
Так-то можно и $(document.getElementById('#')) написать, и всё сработает.
Но это всё равно будет костыль, без применения которого до тэга не дотянуться.
...
Пиши, что думаешь, но думай, что пишешь.
MONEŌ ERGŌ MANEŌ.
Waheeba dokin ʔebi naha.
«каждый пост в интернете имеет коэффициент бреда» © Невский чукчо

fujhi

Цитата: Bhudh от июля 18, 2012, 10:55
Прямо — это как getElementById(). Без дополнительных символов.
:fp:
Это не костыль, а семантика селектора. Причём в документации она описана с примерами. Но нет же, мы же лучше авторов знаем, что «должны» делать селекторы. Ты ещё регулярки обвини в том, что они не могут «прямо» найти строку с точкой, мол, «\.» — это костыль, надо, чтобы угадывали, когда . метасимвол, а когда нет.

Вообще, $("div#hello o").hide() — это костыль. Не костылём было бы писать «скрыть все абзацы в блоке hello». Твои утверждения примерно такой же глубины.
Этот аккаунт официально заброшен. Связаться со мной можно по всё тому же адресу, [email]dmymd@yandex.ru[/email]. Всем пока!

Bhudh

Я понимаю,что мета. Я имел в виду, что так можно "спасти" элемент от перебора, буде потребуется. Без условий и регулярок тут уже не обойдёшься: откуда ты узнаешь, куда совать свои слэши, а куда не надо⁈
Хотя от $('*') не знаю, спасёт ли... Надо проверить...
Пиши, что думаешь, но думай, что пишешь.
MONEŌ ERGŌ MANEŌ.
Waheeba dokin ʔebi naha.
«каждый пост в интернете имеет коэффициент бреда» © Невский чукчо

fujhi

— Как обломать C?
— Назвать переменную if.
— Но ведь так задумано!
— Да, но в Scheme (define if 1) прекрасно работает.
Одухотворённая тема.
Этот аккаунт официально заброшен. Связаться со мной можно по всё тому же адресу, [email]dmymd@yandex.ru[/email]. Всем пока!

fujhi

Цитата: Bhudh от июля 18, 2012, 11:17
Я имел в виду, что так можно "спасти" элемент от перебора, буде потребуется. Без условий и регулярок тут уже не обойдёшься: откуда ты узнаешь, куда совать свои слэши, а куда не надо⁈
Ничего не понял.

Цитата: Bhudh от июля 18, 2012, 11:17
Без условий и регулярок тут уже не обойдёшься: откуда ты узнаешь, куда совать свои слэши, а куда не надо⁈
Почему? Если тебе обязательно надо избежать экранирования, то используешь полную форму xxx[id="yyy"] вместо сокращённой xxx#yyy и обходишься без слэшей.
Этот аккаунт официально заброшен. Связаться со мной можно по всё тому же адресу, [email]dmymd@yandex.ru[/email]. Всем пока!

Bhudh

Цитата: fujhi от июля 18, 2012, 11:19— Как обломать C?
— Назвать переменную if.
— Но ведь так задумано!
— Да, но в Scheme (define if 1) прекрасно работает.
Криво.
Опера — не другой язык программрования, а один из интерпретаторов.
А # не совсем зарезервирован. В JS он тащемта не используется, только в HTML/CSS.
Пиши, что думаешь, но думай, что пишешь.
MONEŌ ERGŌ MANEŌ.
Waheeba dokin ʔebi naha.
«каждый пост в интернете имеет коэффициент бреда» © Невский чукчо

fujhi

Цитата: Bhudh от июля 18, 2012, 10:55
Вкурсе. Но в Опере document.getElementById('#') прекрасно работает :).
Надо сравнивать $("##") не с document.getElementById('#'), а с document.querySelectorAll("##"). Поддерживает ли его Опера — не знаю.
Этот аккаунт официально заброшен. Связаться со мной можно по всё тому же адресу, [email]dmymd@yandex.ru[/email]. Всем пока!

fujhi

Цитата: Bhudh от июля 18, 2012, 11:27
Опера — не другой язык программрования, а один из интерпретаторов.
Не криво. Разница между getElementById("...") и $("...") сравнима с разницей между Си и Схемой.

Цитата: Bhudh от июля 18, 2012, 11:27
А # не совсем зарезервирован. В JS он тащемта не используется, только в HTML/CSS.
:fp:
Он зарезервирован не в JavaScript'е в целом, а в синтаксисе селекторов.
Этот аккаунт официально заброшен. Связаться со мной можно по всё тому же адресу, [email]dmymd@yandex.ru[/email]. Всем пока!


Bhudh

Поддерживает-то она почти всё...
Но:
Цитата: DOMException: SYNTAX_ERR
:(
Пиши, что думаешь, но думай, что пишешь.
MONEŌ ERGŌ MANEŌ.
Waheeba dokin ʔebi naha.
«каждый пост в интернете имеет коэффициент бреда» © Невский чукчо

Bhudh

Цитата: fujhi от июля 18, 2012, 11:31Он зарезервирован не в JavaScript'е в целом, а в синтаксисе селекторов.
С каких пор синтаксис селекторов CSS относится к js⁈
Пиши, что думаешь, но думай, что пишешь.
MONEŌ ERGŌ MANEŌ.
Waheeba dokin ʔebi naha.
«каждый пост в интернете имеет коэффициент бреда» © Невский чукчо

fujhi

Цитата: Bhudh от июля 18, 2012, 11:39
Поддерживает-то она почти всё...
Да ну? Недавно столкнулся с тем, что Опера — единственный браузер, который не позволяет мониторить вставку/вырезание/копирование.
Этот аккаунт официально заброшен. Связаться со мной можно по всё тому же адресу, [email]dmymd@yandex.ru[/email]. Всем пока!

fujhi

Цитата: Bhudh от июля 18, 2012, 11:41
Цитата: fujhi от июля 18, 2012, 11:31Он зарезервирован не в JavaScript'е в целом, а в синтаксисе селекторов.
С каких пор синтаксис селекторов CSS относится к js⁈
:fp:
Синтаксис селекторов (которые не только CSS, хотя они там появились) имеет самое прямое отношение к функциям jQuery и к функциям SelectorAPI: эти функции принимают аргументы в этом синтаксисе.

А к JS в целом, понятно, этот синтаксис отношения практически не имеет: ActionScript или RhinoJS не имеют никакого отношения к селекторам, это да.
Этот аккаунт официально заброшен. Связаться со мной можно по всё тому же адресу, [email]dmymd@yandex.ru[/email]. Всем пока!

fujhi

Offtop
Валентин Н., отдайте, пожалуйста, Bhudh'у его компьютер!
Этот аккаунт официально заброшен. Связаться со мной можно по всё тому же адресу, [email]dmymd@yandex.ru[/email]. Всем пока!

Bhudh

Цитата: fujhi от июля 18, 2012, 11:50Опера — единственный браузер
12-я уже вроде мониторит...
Во всяком случае, все галки на Test page выставила.
Пиши, что думаешь, но думай, что пишешь.
MONEŌ ERGŌ MANEŌ.
Waheeba dokin ʔebi naha.
«каждый пост в интернете имеет коэффициент бреда» © Невский чукчо

Bhudh

Цитата: fujhi от июля 18, 2012, 11:52Синтаксис селекторов (которые не только CSS, хотя они там появились) имеет самое прямое отношение к функциям jQuery и к функциям SelectorAPI
Я-то спрашивал не про библиотеку...
На http://www.w3.org/TR/selectors-api есть ссылка на Standard ECMA-262, но поиск выражения «Selectors API» по ней ничего не дал... :donno:
Пиши, что думаешь, но думай, что пишешь.
MONEŌ ERGŌ MANEŌ.
Waheeba dokin ʔebi naha.
«каждый пост в интернете имеет коэффициент бреда» © Невский чукчо

fujhi

Цитата: Bhudh от июля 18, 2012, 12:10
Цитата: fujhi от июля 18, 2012, 11:52Синтаксис селекторов (которые не только CSS, хотя они там появились) имеет самое прямое отношение к функциям jQuery и к функциям SelectorAPI
Я-то спрашивал не про библиотеку...
См. заголовок темы. jQuery — это библиотека.

А спрашивать ты вообще ничего не спрашивал.

Ладно, я самоустраняюсь из этой темы — я от неё тупею.
Этот аккаунт официально заброшен. Связаться со мной можно по всё тому же адресу, [email]dmymd@yandex.ru[/email]. Всем пока!

Bhudh

Цитата: fujhi от июля 18, 2012, 12:12А спрашивать ты вообще ничего не спрашивал.
Цитата: Bhudh от июля 18, 2012, 11:41С каких пор синтаксис селекторов CSS относится к js⁈
Пиши, что думаешь, но думай, что пишешь.
MONEŌ ERGŌ MANEŌ.
Waheeba dokin ʔebi naha.
«каждый пост в интернете имеет коэффициент бреда» © Невский чукчо

fujhi

Цитата: Bhudh от июля 18, 2012, 12:14
Цитата: Bhudh от июля 18, 2012, 11:41С каких пор синтаксис селекторов CSS относится к js⁈
Цитата: fujhi от июля 18, 2012, 11:52
Синтаксис селекторов (которые не только CSS, хотя они там появились) имеет самое прямое отношение к функциям jQuery и к функциям SelectorAPI: эти функции принимают аргументы в этом синтаксисе.

А к JS в целом, понятно, этот синтаксис отношения практически не имеет: ActionScript или RhinoJS не имеют никакого отношения к селекторам, это да.
Этот аккаунт официально заброшен. Связаться со мной можно по всё тому же адресу, [email]dmymd@yandex.ru[/email]. Всем пока!

Быстрый ответ

Обратите внимание: данное сообщение не будет отображаться, пока модератор не одобрит его.

Имя:
Имейл:
Проверка:
Оставьте это поле пустым:
Наберите символы, которые изображены на картинке
Прослушать / Запросить другое изображение

Наберите символы, которые изображены на картинке:

√36:
ALT+S — отправить
ALT+P — предварительный просмотр