2015-10-06 149 views
-4

我有幾個div元素,這些元素用索引填充,例如Jquery on('click)無法正常工作

Divid1 + index0 
Divid2 + index1 
Divid3 + index2 

點擊函數已經應用到這些單獨的元素,所以Jquery SlideToggle可以打開已分配給這些元素的div元素。

現在我已經創建了一個圖像的點擊功能來使用觸發器功能打開這些框,但它似乎不工作。

$('image').on('click', function() { 
    $('#result' + index).trigger('click'); 
}); 

我想這使已分配的單擊事件:

$('#result'+index).click(function({ 
    $(this).next("#nesteddiv").slideToggle("slow"); 
}); 

謝謝

+2

'索引'在哪裏設置,它的值是什麼?它看起來像使用一個普通的類和一個事件處理程序將是一個更好的主意。 –

+1

請將此添加到jsfiddle? – deepakb

+1

我不知道任何'image'標籤,它應該是'img'。此外,'id'必須是唯一的,並且您的代碼'$(this).next(「#nesteddiv」)'告訴您可能會多次使用它 – Hacketo

回答

0

既然你想的slideToggle毗鄰一個元素點擊一個CSS選擇器,通配符將是最合適的。

$('.slideToggleImage').on('click', function() { 
    $("[id^=result]").trigger('click'); 
}); 

$("[id^=result]").click(function() { 
    $(this).next(".nesteddiv").slideToggle("slow"); 
}); 

並且將#nesteddiv更改爲類,因爲ID應始終是唯一的。它會工作,但它只是最佳實踐:)

+0

非常感謝你!它工作完美:)! –

+0

你不僅歡迎你!我經常忘記通配符選擇器的存在和有用性;-)不要忘記將其標記爲可行的答案。快樂的編碼! –

+0

我有一個快速的問題,我如何使這項工作爲獨特的div元素,而不是啓用切換所有的DIV元素?再次感謝你:) –