我有一个要显示的 CSS 的 div:inline;
但是,当我使用 jQuery 显示/隐藏时,它会将其更改为阻止/无。
当 jQuery 显示它时,我如何防止这种情况并保持显示内联?
我有一个要显示的 CSS 的 div:inline;
但是,当我使用 jQuery 显示/隐藏时,它会将其更改为阻止/无。
当 jQuery 显示它时,我如何防止这种情况并保持显示内联?
你不能afaik。
但是你可以做的就是使用
$('.your-element).css({'display':'inline'});
代替 .show()。
.hide() 仍然可以照常使用。现在想不出什么聪明的办法。
根据 jQuery文档:
如果一个元素的显示值为 inline,然后被隐藏并显示,它将再次被显示为 inline。
有其他事情发生吗?
演示:http: //jsfiddle.net/jtbowden/JdJFJ/
以下是来自源代码的代码片段:
if ( display !== "none" && !jQuery._data( elem, "olddisplay" ) ) {
jQuery._data( elem, "olddisplay", display );
}
基本上,它将原始数据存储display
在内部数据中,这些数据在show()
. 类似但不同的代码在 jQuery 1.0 中一直存在。
@benhowdle89 jQuery 似乎已经可以做到这一点。你用的是什么版本?