2011-02-04 8 views
31

Как смешивать переменные с селекторами?jQuery селекторы с переменными

У меня есть переменная ID.

Я хочу выбрать изображение с этим id из div #one.

jQuery('#one img .id') является селектором. Я пробовал $('#one img .'+id), но не работает.

+2

Не могли бы вы предоставить немного больше кода и объяснить, что именно не работает? –

ответ

43

Edit: На основе свой комментарий ниже, вы бы использовать это:

$('#one img.'+id) 

В вашем вопросе у вас есть пространство между img и .class, Я просто удалите это так, чтобы вы получили img.className или img.'+className

+0

Извините, что вы сбиваете с толку вас, ребята, ID - переменная jQuery, содержащая DOM CLASS. – anonymous

+1

@anon обновил мой ответ –

+0

Важно отметить, что идентификатор должен быть не численным, поэтому toString(), если id - число. – isync

1

Это может быть просто опечатка или вы на самом деле использовать переменную id в классе, но, возможно, это должно быть:

jQuery('#one img #'+id) 
1

. является селектором класса. Попробуйте изменить что к #:

$('#one img #'+id) 
+0

Но я хочу выбрать КЛАСС. Я стараюсь, как вы говорите, но с. вместо #. Не работает. – anonymous

0

Возможно, вы хотите выбрать img, который задан определенным классом, и сохранить этот класс в переменной id в элементе div с id = 'one'.

DEMO

В демке я выбираю IMG элемент, клонировать его, и добавить к Div ID = один.

1

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

$('#' + id); 
Смежные вопросы