Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Получить ссылку из href. Возможно ли? (https://javascript.ru/forum/jquery/16884-poluchit-ssylku-iz-href-vozmozhno-li.html)

poorking 30.04.2011 10:53

Kolyaj,
Спасибо.
Раз любой кроме пробела, то так тому и быть. А что тогда делать с querySelectorAll? Хочется им пользоваться если он поддерживается, но он как видимо не допускает #1 Такого (я только в ff4 проверил) значит
try{
 document.querySelectorAll("#1");
}catch(e){
 //выбрать по-другому
}

Kolyaj 30.04.2011 16:06

Можно не значит нужно. Не используйте только цифры в качестве id, и проблем не будет.

walik 30.04.2011 18:26

Цитата:

Сообщение от poorking
jQuery на такие id тоже не ругается, хотя вопрос вобщем-то риторический ))
Даже не знаю в чем вопрос, наверно, правильно ли сделал автор jquery, что позволил делать такие выборки, ведь по сути это синтаксическая ошибка

В таких случаях ($('#id')) JQuery не вызывает querySelectorAll. Он такие запросы просто превращает в document.getElementById('id');
А раз как вы говорили что document.getElementById не ругается на цифру, то и запрос $('#id') получается что не ругается.

poorking 30.04.2011 19:09

walik,
Да это и так понятно :) Кстати document.getElementById даже на пробелы не ругается, но в Jquery регулярка для id /^#[\w\-]+/ так что она не примет другие символы, и это, наверное, правильно, хоть она и обрабатывает все возможные варианты ввода во все свои методы, и поправляет за пользователем ошибки ввода, но совсем уж вольностей не позволяет, хотя и могла бы принимать как для id наборчик побольше (см пост Kolyaj со ссылкой на тему, где он говорит что использует id вида ":myid", чтобы ie не засорял глобальное пространство), исключили бы пробел(раз не положено) и запятую (чтобы разделять селекторы, перечисленные через запятую)


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