2015-08-14 2 views
0

Я не мог объяснить себе в названииJquery - Отображение Div конкатенации переменного со строкой

Так что у меня много див с id «s n1_pop, n2_pop и т.д.

Я хочу сделать динамический скрипт, который после нажатия на n1 отображается div n1_pop.

// POP UP 
    $('.completo').click(function(){ 
     var divid = $(this).attr('id'); 
     $('.overlay').fadeIn(); 
     $(divid + '_pop').slideDown(); 
    }); 

Я здесь тестирую и тестирую, но я не могу сделать эту работу. Что я делаю неправильно? Как я могу исправить свой скрипт?

Некоторая помощь будет воспринята.

+1

Вам не хватает «#» в вашем селекторе? $ ('#' + div + '_pop'). slideDown(); –

ответ

5

Вы не хватает селекторе, а нацеливание n1_pop:

$('#'+divid + '_pop') 

Полный Отрывок:

$('.completo').click(function(){ 
    var divid = $(this).attr('id'); 
    $('.overlay').fadeIn(); 
    $('#'+divid + '_pop').slideDown(); 
}); 
+1

Вы были быстрее меня :) +1 –

+1

То же самое здесь, +1: D –

+0

О, хватит. Это было именно так. Как я пропустил это ... – White8Tiger

1

На данный момент вы пытаетесь сделать эквивалент $ (n1_pop '). но вы должны делать $ ('# n1_pop'):

// POP UP 
    $('.completo').click(function(){ 
     var divid = $(this).attr('id'); 
     $('.overlay').fadeIn(); 
     $('"#' + divid + '_pop').slideDown(); /*change this line */ 
    }); 
Смежные вопросы