好吧我已經嘗試了多種事情,並尋找這個答案,我似乎無法得到它的工作。我想要做的是有一些動態生成的圖像,所以我不知道隨時會有多少圖像。每個圖像都有一些關聯的信息,我將其存儲在一個單獨的div中。我想要做的是將一個點擊事件附加到每個圖像上,以取消隱藏其中包含相關內容的div。jQuery循環和附加點擊事件
我試過用for循環和while循環循環都無濟於事。兩者都會發生什麼,因爲他們會將點擊事件附加到它上面,但無論點擊了哪個圖片,都會打開相同的div,而不會與圖片關聯。
var cnt = jQuery('#container img').length;
cnt = cnt - 1;
var i = 0
for(i=0; i<=cnt; i++) {
jQuery('#container img').eq(i).click(function() {
jQuery('.movie' + 1).slideDown();
jQuery('#sort').hide();
});
}
while(i<=cnt) {
jQuery('#container img').eq(i).click(function() {
jQuery('.movie' + i).slideDown();
jQuery('#sort').hide();
});
i++
}
以上是我嘗試了兩種不同的變化。第二個沒有在這裏定義的變量,但在我的代碼中他們這樣做。我在做的是獲取我有多少圖像(var cnt),然後使用它來循環正確的次數。我假設點擊函數必須弄亂一些東西,因爲它會將它附加到每張圖片上,但會得到錯誤的div。
編輯:
按照一些意見,我試圖改變我的結構是這樣的:
<div id="container">
<img />
<img />
<div class="expanded">
// Info Goes Here
</div>
<div class="expanded">
// Info Goes Here
</div>
</div>
然後我試圖代碼:
jQuery(document).ready(function() {
jQuery('#container img').click(function() {
jQuery(this).next('div.expanded').show();
});
});
但它不」不管工作。第一個圖像什麼都不做,第二個圖像顯示錯誤的div。
你能提供一些你的html結構嗎? – 2011-05-27 21:03:52