jQuery css()无法使用可见性

时间:2011-12-30 23:35:50

标签: jquery css

在下面的代码中,我将show()更改为css()并修改了可见性。出于某种原因,它没有出现在onclick上。

这是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");
});

4 个答案:

答案 0 :(得分:9)

选择隐藏仅使用显示可见性无效。这是jQuery文档http://api.jquery.com/hidden-selector/

你必须尝试不同的东西:

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

答案 1 :(得分:4)

为什么不使用$('tr#target')。请在此处查看jsFiddle

答案 2 :(得分:1)

请参阅:hidden visibility:hidden:hidden的元素不能被视为tr

解决方案是在没有:hidden选择器的情况下定位$("tr#target").css("visibility","visible"); ,如下所示:

{{1}}

答案 3 :(得分:1)

我个人会这样写。

注意:我没有测试过这个。

<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>