2013-03-22 3 views
4

Good DayКак добавить переменную внутри селектор JQuery

Я хочу, чтобы добавить переменную в селектор JQuery, но синтаксис является неправильным:

var c = $(this).attr('class'); 

      if ($('#articleThumb ul li img').hasClass(c)) { 
       $('#articleThumb ul li img.'+c').clone().appendTo('#articleFeatured'); 
      } 

Класс

img.class является переменной и не константой, как img.birds например ...

Thank вы

ответ

4

Ваши кавычки отключены, обратите внимание на блуждающий после c. Это должно быть:

$('#articleThumb ul li img.' + c) 
+0

спасибо, ценю ваш ответ –

+0

Еще один вопрос: если есть более одного элемента, который имеет определенный класс, как добавить только первый? –

+0

@DavidVanStaden Вы можете использовать 'eq (0)' в своем селекторе, чтобы: '$ ('# articleThumb ul li img.' + C + ': eq (0)')' –

1

Вы можете просто объединить переменную с помощью селекторной строки. Удалите дополнительную одиночную кавычку в конце c в селекторе.

Изменить

$('#articleThumb ul li img.'+c') 

Для

$('#articleThumb ul li img.' + c) 
+0

благодарю вас, оцените ваши ответ –

+0

Добро пожаловать ... – Adil

+1

Еще один вопрос: если есть более одного элемента, который имеет определенный класс, как добавить только первый? –

2

Похоже, вы добавляете дополнительный '

$('#articleThumb ul li img.' + c) 
+0

спасибо человеку, оцените –

+0

@DavidVanStaden - нет проблем –