Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 在显示:表格元素上使用show()时保持边框间距隐藏显示:无_Jquery_Html_Css - Fatal编程技术网

Jquery 在显示:表格元素上使用show()时保持边框间距隐藏显示:无

Jquery 在显示:表格元素上使用show()时保持边框间距隐藏显示:无,jquery,html,css,Jquery,Html,Css,我有一个表单和一个select元素,用户可以从中选择value=“Yes”或value=“No”。如果value=“Yes”,JQuery使用.show()来显示包含文本区域的div,以便用户可以解释是的答案。否则,需要隐藏textarea 表单被设置为CSS表格,表单的每一行都是一个表格行,带有一个或多个表格单元格s 我尝试在CSS中使用display:none隐藏textarea,因为当我使用JQuery隐藏它时,它会在屏幕上闪烁片刻,然后JQuery开始隐藏它 但是,最初使用display

我有一个
表单
和一个
select
元素,用户可以从中选择
value=“Yes”
value=“No”
。如果
value=“Yes”
,JQuery使用
.show()
来显示包含
文本区域的
div
,以便用户可以解释是的答案。否则,需要隐藏
textarea

表单被设置为CSS
表格
,表单的每一行都是一个
表格行
,带有一个或多个
表格单元格
s

我尝试在CSS中使用
display:none
隐藏
textarea
,因为当我使用JQuery隐藏它时,它会在屏幕上闪烁片刻,然后JQuery开始隐藏它

但是,最初使用
display:none
隐藏它会导致另一个问题:当随后使用JQuery显示它时,它会忽略左右两侧的间距
10px

设置为使用JQuery隐藏它,如果取消注释CSS的最后一行,您可以看到在使用JQuery显示它之后,边间距是如何消失的。(闪烁的问题在小提琴上不明显,因为我去掉了所有其他代码。)未注释时,JQuery中的两条注释行将使其与
display:none
一起工作,但它们是通过操纵CSS来实现的,这意味着如果间隔发生变化,则必须手动更改


在使用
show()
时,是否有办法保持
边框间距

当我写这个问题时,我发现了问题所在。元素需要是
display:table
。CSS最初设置为
display:none
.show()
没有指示它需要返回到
display:table
,而是显示为
display:block
。这就是为什么
display:table
格式设置
边框间距
不起作用的原因:它不适用于
display:block

我想出的最简单的解决方案根本不是使用
.show()
,而是使用
display:none
创建一个新的
表\u hidden
类,然后使用
.removeClass()
.addClass()
来实现显示/隐藏