2009-10-25 67 views
0

我正在使用此jQuery代碼來顯示和隱藏我的網頁上的div。正如你所看到的,我只限於5個div。有沒有辦法讓它們變成動態的?有沒有辦法讓這個jQuery腳本動態?

$(document).ready(function() { 
    $('.box').hide(); 
    $('a.toggle').click(function() { 
    $('.box').toggle(400); 
    return false; 
    }); 
}); 

<a href="#" class="toggle" title="Show Comments"><img src="images/read.gif" alt="" /></a> 
<div class="box" class="comment">hidden content</div> 

這是我修改後的代碼

$(function() { 
    $('div.box').hide(); 
    $('a.toggle').click(function() { 
    $(this).next('div.box').toggle(400); 
    }); 
}); 

<div class="entry"> 
    <h3>Title</h3> 
    <p>content</p> 
    <p class="posted">Posted by Admin<br /> 
    <a href="#" class="toggle"> 
    <img src="read.gif" alt="" /> 
    </a> 
</div> 
<div class="box" class="comment">Hidden</div> 
+0

您能告訴我們'#toggleN'和'#boxN'元素的標記嗎? – CMS 2009-10-25 06:13:12

+0

當然..感謝您的幫助。 brb – Jack 2009-10-25 06:16:06

+0

您是否註冊兩次以提出同樣的問題? http://stackoverflow.com/questions/1620377/jquery-parents-help – Mottie 2009-10-26 10:08:51

回答

3

看着你的標記,你可以做這樣的事情:

$(document).ready(function() { 
    $('div.box').hide(); 

    $('a.toggle').click(function() { // all A elements with class 'toggle' 
    $(this).next('div.box').toggle(400); // toggle the next DIV with class 'box' 
    }); 
}); 

基本上綁定一個單擊處理與toggle類所有的鏈接,然後在單擊時,它會尋找下一個兄弟(相對於點擊鏈接)這是一個divbox類,使用Traversing/next功能。

用標記here檢查上面的例子。

編輯:我檢查了您的標記,你.toggle鏈接嵌套在div.entry元素裏面,也有一個未關閉的段落,所以我又調整了代碼,您的標記:

$(function() { 
    $('div.box').hide(); 
    $('a.toggle').click(function() { 
    $(this).parents('.entry').next('div.box').toggle(400); 
    }); 
}); 

您會注意到我在尋找div.entry元素,因爲.box是它們的兄弟。

查看更新示例here

+0

嗨CMS,感謝您的幫助。我完全沒有JavaScript/jQuery知識。有沒有一個例子可以指出我的意思,以便我可以跟隨你所說的話?我在標記中看到的其中一個問題是,我有兩個類,這會打破一切。這是允許在標記中有2個類嗎? – Jack 2009-10-25 06:30:17

+0

CMS,謝謝你的例子。對此,我真的非常感激。不幸的是,我無法得到這個工作。當我點擊按鈕時,沒有任何反應。我會在上面發佈我修改後的代碼。 – Jack 2009-10-25 06:38:00

+0

再次感謝CMS的努力。它不會工作。我所做的就是複製你的確切代碼並將其粘貼到新頁面中。即使除了你的代碼,當然還有jquery bin,沒有其他的東西,它不會工作。有任何想法嗎? – Jack 2009-10-25 07:04:00

相關問題