2011-03-14 27 views
1

我有這我不能夠在瞬間明白的一個問題。我有一個jsp腳本,它創建了動態的<p><div>標籤。每個<p>標籤具有類「父」,每個div類具有類「子」。現在我想實現的是,當用戶點擊一個特定的<p>標籤則<div>這只是根據該<p>應該會出現。但是當我點擊<p>標籤時,它也會打開其他<p>標籤的所有div ..請幫助我。 感謝幫助jQuery的動態DIV和P

謝謝你們......我在code..and其做工精細做出一些改變了。

$(document).ready(function(){ 
$(".child").hide(); 
$(".parent").bind('click',function(){ 



$(this).next('.child').toggle("slow"); 


    }); 

});

+0

能否請您告訴我們您的代碼,所以我們知道你有什麼到目前爲止,需要固定的呢? – 2011-03-14 19:13:26

回答

4

在jQuery中

$('p.parent').click(function(){ $(this).next('.child').show(); }); 

The .next() method告訴jQuery來選擇 「緊隨其後的兄弟」,而你的情況將是DIV。

+1

可能想要做的下一個('。孩子')只是確保。 – Loktar 2011-03-14 19:13:41

+0

@Loktar:好點。 – 2011-03-14 19:15:12

0

當你使用jQuery選擇來獲得這樣的號碼:

$('p.parent') 

將選擇與父類均P標籤。你將必須要對選擇 $('p.parent, .child:first')例如將選擇第一個,看看http://api.jquery.com/category/selectors/在jQuery的所有選擇更具體。

當你要選擇一個被點擊的P,你只需使用$(本)。

$('p.parent').bind('click', function() { 
$(this).children('div').show(); // look at how you can use $(this) which will link to the p clicked on 
}); 
+0

我沒有給-1,但我認爲它的原因是:首先被使用。這將選擇:父類的第一個元素。父母中正確的方法是$('。child:first')。 OP想要在點擊p標籤後選擇第一個帶有班級孩子的div。 – Loktar 2011-03-14 19:18:36

0

你必須使用兒童選擇在jQuery的:http://api.jquery.com/category/traversing/tree-traversal/

我不能回答沒有代碼,但這裏是我的嘗試:

$('p').click(function(){ 
    $(this).find('div').show(); 
}); 

這工作,如果代碼,錯誤,是像這樣:<p><div></div></p>

如果你的代碼<p></p><div></div>,使用此:

$('p').click(function(){ 
    $(this).next().show(); 
});