| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > JavaScript: Применение библиотек > Символ * в id элемента и jQuery |
| Автор: bankir 3.8.2010, 13:13 | ||||
| Всем привет! Подскажите пожалуйста, на страничке есть элементы с символом * в атрибуте id. Например:
Со старой версией библиотеки (jQuery 1.2.6) все работало
(в id передается *0056289) мне выводило содержимое инпута, а вот давеча поставил последнюю версию jQuery JavaScript Library v1.4.2 и теперь мне выдает undefined. Я заметил, что undefined выдает если в атрибуте id есть символ * Мне просто от этого символа никак не отказаться - это уникальный код товара по которому идет идентификация. Так вот, подскажите пожалуйста как мне быть. Это глюк новой версии или этот символ нельзя использовать (как символы . или [ или ]). Ведь в старой версии работало.От новой версии отказываться неохото, там много вкусностей а-ля live() Выручайте плиз. |
| Автор: bankir 3.8.2010, 14:36 |
| спасибо за совет. в принципе я тоже думал об этом. не хотелось бы использовать такой костыль. надо сначала в выдаче сделать str_replace() на другой символ, который будет уникальным. потом при передаче аяксом на стороне сервера снова делать str_replace() на * еще надо учитывать, что если я генерирую новый элемент на лету и вставляю его аяксом - надо тоже делать замену. слишком много надо будет всего помнить в разных местах. просто еще есть id без * ну что ж, придется делать костыли. Просто обидно, что в старой версии работало, но она уже устарела и надо использовать новую. |
| Автор: bars80080 3.8.2010, 14:41 |
| ну, костыль тут всего лишь следствие использования служебного символа *, который чуть ли не в половине языков имеет самые разные назначения. надо было избегать изначально |
| Автор: SelenIT 3.8.2010, 14:56 |
http://www.w3.org/TR/html401/types.html#type-id |
| Автор: bankir 3.8.2010, 15:33 |
| Да все эти id берутся из 1с из поля "код товара". Заводились еще до меня, а чтобы поменять нужно многое переделывать: от склеивания страниц в поисковиках (ссылки формата page.php?id=*002342) до всяких бирж. Хотя в принципе надо всего-лишь сделать редирект на новую страницу без знака * Кто-нибудь подскажет регулярку для mod_rewrite чтобы заменить * на другой символ (например it или просто i)? А то я в регулярных выражениях вообще не секу. |
| Автор: bankir 4.8.2010, 09:47 |
| Всем спасибо! Пришлось использовать вышеописанный костыль. |