我使用jQuery將div
附加(移動)到另一個div
。這工作正常,但現在我試圖讓它成爲一個功能,我遇到了一些問題。jQuery找不到合適的選擇器
我有幾個div
的,有兩個叫#geregeld
和#niet_geregeld
。一個叫做#content_vragen
和一個叫做.container_vragen
的class
。
.container_vragen
初始位於#content_vragen
。在.container_vragen
與此代碼的按鈕:
$('.submenu').on('click','.groen',function() {
$(this).closest('.container_vragen').fadeOut(400, function() {
$(this).closest('.container_vragen').css({overflow : 'hidden', color : 'green'});
$(this).closest('.container_vragen').appendTo("#geregeld");
$(this).closest('.container_vragen').fadeIn(400);
});
});
此動作將.container_vragen
在#geregeld
div
。這工作正常。但我希望用戶能夠將.container_vragen
放回到#content_vragen
div
,這被證明是一個問題。
我使用的是做到這一點的代碼是這樣的:
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 div中選擇正確的div。
$('#geregeld , #niet_geregeld').on('click',function(){
$('.container_vragen', this).click(appendToContent_vragen);
});
如果我用這個代碼,我不得不在#geregeld
在.container_vragen
點擊兩次,以獲得功能appendToContent_vragen
,顯然我希望用戶點擊一次。
我小的jsfiddle與我正在使用的代碼:http://jsfiddle.net/hE7Gm/
感謝respons。這幾乎是我想要的。但有時我在'#geregeld'中有多個'.container_vragen'。當我點擊'#geregeld'中的'.container_vragen',並且有兩個或更多的'.container_vragen'時,由於每個選擇器都會調用函數'appendToContent_vragen'。有沒有辦法只讓被點擊的'.container_vragen'調用函數? –
@PeterBoomsma您需要直接在'.container_vragen'元素上註冊處理程序,而不是兩個容器元素。 – Alnitak
感謝您的幫助! –