2013-01-10 36 views
0

我想清理我的jQuery代碼有點,我通過在我的代碼中definen函數來做到這一點,但我很新,所以我遇到了一個小問題jQuery調用功能不工作

function appendToContent_vragen() { 
    $(this).closest('.container_vragen').fadeOut(400, function() { 
     $(this).closest('.container_vragen').appendTo('#content_vragen'); 
     $(this).closest('.container_vragen').css({overflow : 'hidden', color : 'black'}); 
     $(this).closest('.container_vragen').fadeIn(400); 
    }); 
} 

$('#geregeld , #niet_geregeld').on('click','.container_vragen').click(appendToContent_vragen); 

該代碼的問題是點擊功能不起作用。如果我不喜歡這樣

$('.container_vragen').click(appendToContent_vragen); 

它的工作,但它選擇了錯誤的.c​​ontainer_vragen(因爲它不是在#geregeld,#niet_geregeld格。

這裏是整個項目的的jsfiddle。在頂部是功能

+0

的jsfiddle似乎已經爲我之後要選擇孩子。 –

+0

在此處發佈您的html標記 – OptimusCrime

+0

當您未顯示相關代碼或將其放置在某處時很難理解 –

回答

0

此行應該是行:

$('#geregeld , #niet_geregeld').on('click','.container_vragen').click(appendToContent_vragen); 

應該是這樣的:

$('#geregeld , #niet_geregeld').on('click',function(){ 
    $('.container_vragen', this).click(appendToContent_vragen); 
}); 

更正答案:

$('#geregeld , #niet_geregeld .container_vragen').on('click',appendToContent_vragen); 
+0

此方法似乎工作,但我必須點擊兩次.container_vragen元素才能執行函數appendToContent_vragen –

+0

已更正,讓它按所述方式工作 – Saligor

+0

恐怕這種方法不會對點擊元素做出反應。 –

0

你可以使用jQuery .children() jQuery的元素選擇

$('#geregeld , #niet_geregeld').children('.container_vragen').click(appendToContent_vragen) 
+0

聲音合乎邏輯,但點擊不會調用該函數。 –

+0

什麼打印時,你console.log()選擇器?點擊是否被綁定到正確的元素? – jye265