2015-05-04 59 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