2015-05-04 98 views
2
<a class="click_' + module_row + '_' + element + '_on">Show</a> 
<div class="div_' + module_row + '_' + element + '_show">div content</div> 

jQuery的。点击(函数(){不工作

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

我试图动态显示通过JavaScript一个div内容,但无法正常工作。

+0

什么'module_row'和'元件' –

+0

的值,您代码在罚款你应该检查你'控制台'的错误' – ozil

+0

类不能像他一样。你可以使用jquery添加类名 –

回答

1

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

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

编辑1)你有module_row和元素定义?我认为这是问题。告诉我们更多关于这些选择器的信息吗?

编辑2)由于您告诉我,module_row和元素是数字,您应该使用不同的语法。使用php将module_row和元素放在属性中。代码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() 
}); 

您可能需要四周多一点调整,但多数民众赞成

+0

您没错。没有工作兄弟。如果你建议另一个。 – Foxpro

+0

检查2件事情,检查元素中的html,看看选择器的样子。第二件事情把console.log('工作');只是为了看看你是否有事件。 我的猜测是,你没有那些全局定义的变量,所以你不能有适当的选择。你为什么要把module_row和元素?我认为有比这更优雅的解决方案 – Arcagully

+0

我工作在PHP和这是一个形式,我在PHP上创建的示例。 – Foxpro