jQuery .click(function(){not working

时间:2015-05-04 13:26:02

标签: javascript jquery variables

<a class="click_' + module_row + '_' + element + '_on">Show</a>
<div class="div_' + module_row + '_' + element + '_show">div content</div>

$('.div_' + module_row + '_' + element + '_show').hide();   
$('.click_' + module_row + '_' + element + '_on').click(function(){ 
  $('.div_' + module_row + '_' + element + '_show')
    .fadeIn('slow')
    .show('slow') 
});

我试图通过JavaScript动态显示div内容。但是没有工作。

1 个答案:

答案 0 :(得分:1)

我猜你是通过JavaScript动态添加的,如果是这种情况你应该使用:

$(document).on('click','.click_' + module_row + '_' + element + '_on',function () {        
    // hide here, that is simple
});

编辑1)您是否已定义module_row和元素?我在想这就是问题所在。告诉我们更多有关这些选择器的信息?

编辑2)由于你告诉我module_row和elements是数字,你应该使用不同的语法。使用php将module_row和element放在属性中。代码HTML:

<a class="div_show" data-module="module_row" data-element="element">div content</div>

代码JS:

$(document).on('click','.click_on',function (e) {        
    // not to reload the page        
    e.preventDefault(e);
    var module = $(this).attr('data-module');
    var element = $(this).attr('data-element');
    $('div_' + module + '_' + element + '_show').hide()
});

你可能需要稍微调整它,但就是这样