2013-06-27 50 views
0

的不同元素我有這3周的div:jQuery的選擇同一類的div

enter image description here

其上單擊視圖按鈕改變內容:

enter image description here

所以,是的,我使用類來選擇,所以當我點擊所有3的「查看圖表」按鈕時,所有3個div的變化都如預期的那樣...但我希望特殊的div只能改變。我可以輕鬆地做到這一點,給每個div它自己的id和東西,但這將是這樣做的低效率的方式,所以我需要它使用$(this)選擇器完成,我只是不知道如何選擇每個div在其自己的。

這是jQuery的樣子:

$(document).ready(function(){ 
    $('.beltrap').click(function(){ 
     $('.alert_content').toggleClass('alert_content2'); 
     $('.alert_content p').toggle('500'); 
     $('.alert_content img').toggle('500'); 
    }); 
}); 

好這裏是HTML標記,其餘2是相同的:

<div class="alert"> 
<div class="uptrap"><h2>LOTE Alerted</h2></div> 
<div class="alert_content"> 
<p><strong>LOTE</strong> alerted at$1.00 then reached <strong>$22.00</strong> for gains of over 2000%.</p> 
<img src="img/graph2.png"> 
</div> 
<div class="beltrap"><div class="gg_button">View Chart</div></div> 
</div> 
+0

是'.alert_content'的'.beltrap'兒童? –

+0

請發佈與它相關的HTML標記。這將有助於! –

回答

2

這應該管用。從.beltrap開始它選擇爲.alert_content

$(document).ready(function(){ 
    $('.beltrap').click(function() { 
     $(this).parent().find('.alert_content').toggleClass('alert_content2'); 
     $(this).parent().find('.alert_content p').toggle('500'); 
     $(this).parent().find('.alert_content img').toggle('500'); 
    }); 
}); 
+0

太好了!感謝它的確奏效! :D – Gaurav

+0

沒問題。你能接受它作爲答案嗎? :-) –

0

試試這個:

$('.beltrap').click(function(){ 
    $(this).toggleClass('alert_content2'); 
    $(this).find('p').toggle('500'); 
    $(this).find('img').toggle('500'); 
}); 
+0

我認爲它確實選擇了每個元素,但仍然不是我所期望的:http://puu.sh/3pmSq.png – Gaurav

0

使用這個父容器內的父容器和搜索。

標記

<div class="gg_button" onclick="gg_buttonclick(this)">View Chart</div> 

腳本

function gg_buttonclick(ref) 
    { 
     now ref hold the reference to the clicked div. 
     do your stuff 
    } 
+0

我真的想把它全部保存在外部工作表中,這樣如果客戶端想要將點擊事件改爲懸停,或者dbl單擊,他就可以在js文件中執行它,不必擔心標記在所有。 :) 但我真的很喜歡這種方法! – Gaurav

+0

'onclick'只是一個屬性,它不依賴於你的外部表單。你也可以把js函數放到外部的js文件中。 –