2011-12-30 18 views
4

show()css()に変更し、可視性を変更しました。何らかの理由でonclickが表示されません。ここでjQueryのcss()が可視性を使用していません

はHTMLです:

<td class="area"> 
    <img src="/def.jpg" /> 
</td> 

<tr id="target" style="visibility:hidden"> 
    <td>This was hidden</td> 
</tr> 

、その後のjQuery:

$("td.area").on("click", "img", function(){ 
    $("tr:hidden#target").css("visibility","visible"); 
}); 
+0

私はあなたのjquery scrollerソリューションをお持ちですが、回答を投稿する前に質問を削除しました。そこで何が起こったのか分かりません。あなたがまだそれを必要としているなら教えてください。私はそれを投稿することができます。 –

答えて

4

理由だけ$('tr#target')を使用しません。ここでjsFiddleを参照してください。

1

:hiddenためdocumentationを参照してください。 visibility:hiddenの要素は:hiddenとはみなされません。

溶液がちょうどそうように、:hiddenセレクタなしtrを標的とするであろう:

$("tr#target").css("visibility","visible"); 
+0

いいえ、動作しませんでした。私がdisplay:noneとshow()に変更すると、それはうまく動作します:o/ – Satch3000

+0

まあ明らかです。 'visibility:hidden'は':hidden'として数えられません。私の編集を参照してください。 – Purag

7

セレクタ:隠されたはちょうど表示視界では動作しません。

var t = $("#target"); 
if(t.css("visibility") == "hidden"){ 
    t.css("visibility", "visible"); 
} 
1

私は個人的には次のように記述します。ここでは、別の何かを試してみてjQueryのドキュメントhttp://api.jquery.com/hidden-selector/

です。

注:これはテストしませんでした。

<style> 
    #target {visibility: hidden} 
</style> 

<script> 
    $('td.area').live('click', function(){ 
     if ($('#target').is(":visible")) { 
     // Do something? 
     } 
     else { 
     // Make visible 
     $('#target').css('visibility', 'visible') 
     } 
    }); 
</script> 

<td class="area"><img src="/def.jpg" /></td> 
<tr id="target"> 
    <td>This was hidden </td> 
</tr> 
関連する問題