2011-05-20 51 views
1

我有這行代碼中的for循環:防止切換所有項目

echo '<toggle_me style="display: none"><img align="center" src="images/icon/pdf_mail.png" /></a></toggle_me>'; 

有了這個jQuery的:

<script> 
$("img").click(function() 
{ 
    $("toggle_me").toggle(); 
}); 
</script> 

Ofcourse這種切換的所有圖像,我怎麼只能切換一個點擊?

+0

您的HTML似乎被打破,沒有開放不是一個有效的HTML標記。 – powtac 2011-05-20 10:37:05

回答

2

你實際上是由你自己的HMTL標籤?你瘋了?請閱讀約Classes and IDs,然後在jQuery中使用這些CSS選擇器來選擇切換器/ imgs。

例如:

<div class="toggler"> 
    <img src="..." /> 
    <span>Toggle</span> 
</div> 

的jQuery:

$('.toggler span').click(function(){ 
    $(this).prev().toggle(); 
}); 

這是一個非常快速的解決方案,它應該爲你工作,我強烈建議你閱讀了關於類/ ID和選擇,你會很容易地看到您如何才能根據您的需求改進此代碼。

+0

Thx向我解釋這一點。如何開始隱藏圖像?我試過event.preventDefault();但那不行。 – Muiter 2011-05-22 10:56:41

+0

$('。toggler img')。hide();如果啓用JS,將會隱藏它們。 – Dunhamzzz 2011-05-22 21:06:55

+0

我沒有用$('。toggler img')得到任何結果。hide();即使放在一個準備就緒(功能()),我認爲這將隱藏所有圖像,只是可以切換的那些。 – Muiter 2011-05-23 09:30:41

0

使用

$(this).parent().toggle();而不是$("toggle_me").toggle();

更好的是將toggle_me元素添加單擊事件...

+0

只適用於一個項目,但不會顯示回聲 – Muiter 2011-05-22 10:46:51

+0

這是什麼意思,「不會顯示回聲」? – powtac 2011-05-24 12:44:14