Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 15.10.2012, 22:34
Новичок на форуме
Отправить личное сообщение для Grammka Посмотреть профиль Найти все сообщения от Grammka
 
Регистрация: 15.10.2012
Сообщений: 3

Match() для запроса $(...)
Подскажите пожалуйста, как мне разбить строку ниже с помощью match(), чтобы получился массив ['div', 'id', ['class1', 'class2'], ['name1="name1"', 'name2="name2"']]

'div#id.class1.class2[name1="name1"][name2="name2"]'
Ответить с цитированием
  #2 (permalink)  
Старый 15.10.2012, 22:52
Аватар для trikadin
Модератор
Отправить личное сообщение для trikadin Посмотреть профиль Найти все сообщения от trikadin
 
Регистрация: 27.04.2010
Сообщений: 3,417

Посмотрите исходники jq, например, там есть рега, которая разбивает строчки похожим образом. Плюс и на этом сайте тема не раз поднималась.
__________________
Читайте:
Ты любопытный) Всё-таки, ничему в этом мире не помешает хорошая доля юмора)
Как спросить, чтобы вам ответили
Часто Задаваемые Вопросы (FAQ)
Ответить с цитированием
  #3 (permalink)  
Старый 16.10.2012, 11:18
Новичок на форуме
Отправить личное сообщение для Grammka Посмотреть профиль Найти все сообщения от Grammka
 
Регистрация: 15.10.2012
Сообщений: 3

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

вот например ([^.#]+)(?:#([^.]+))(?:\.([^\[]+))(.+) выдает:
div#id.class1.class2[name1="name1"][name2="name2"]
div id class1.class2 [name1="name1"][name2="name2"]

но как сделать вариант при отсутствии id например я не знаю

Последний раз редактировалось Grammka, 16.10.2012 в 11:40.
Ответить с цитированием
  #4 (permalink)  
Старый 16.10.2012, 19:51
Аватар для trikadin
Модератор
Отправить личное сообщение для trikadin Посмотреть профиль Найти все сообщения от trikadin
 
Регистрация: 27.04.2010
Сообщений: 3,417

Grammka, я говорю про исходники. Уверен, если бы вы почитали именно исходный код jQ, вы бы нашли ответ на свой вопрос. Там есть регэксп, который разбивает запрос на части, чтобы потом найти элементы, подходящие под запрос.
__________________
Читайте:
Ты любопытный) Всё-таки, ничему в этом мире не помешает хорошая доля юмора)
Как спросить, чтобы вам ответили
Часто Задаваемые Вопросы (FAQ)
Ответить с цитированием
  #5 (permalink)  
Старый 16.10.2012, 22:10
Новичок на форуме
Отправить личное сообщение для Grammka Посмотреть профиль Найти все сообщения от Grammka
 
Регистрация: 15.10.2012
Сообщений: 3

Если Вы считаете, что я не сразу понял что Вы имели ввиду исходники, то как я могу понять, что написано внутри... jQ Работает по принципу - если ID ищем ID, если селектор является html кодом, то создаем новый элемент, иначе запускаем find...

Вообщем вскрыл себе мозг, но написал, может кому пригодится:

/([^#.\[]+)*(?:#([^.\[]+))*(?:\.([^\[]+))*(?:\[(.+))*/

А Вам, trikadin, жирный минус. Обожаю русский народ за желание помогать посылать.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Collection – фреймворк для управления данными kobezzza Ваши сайты и скрипты 155 10.05.2013 08:59
Установка цвета через функцию .css() сбрасывает цвет для :hover xintrea jQuery 4 18.08.2012 15:38
Удалению метаданных в JPEG lorents Библиотеки/Тулкиты/Фреймворки 2 22.04.2012 21:02
Реализация игрового поля для игры "Точки" last-art Events/DOM/Window 7 22.04.2012 03:18
Переодическое обновление значений для графика, функция для обновления значений yupa87 Общие вопросы Javascript 0 09.07.2009 14:48