在下面的代码中,我将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");
});
答案 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>