0

我有一个要显示的 CSS 的 div:inline;

但是,当我使用 jQuery 显示/隐藏时,它会将其更改为阻止/无。

当 jQuery 显示它时,我如何防止这种情况并保持显示内联?

4

3 回答 3

0

你不能afaik。

但是你可以做的就是使用

$('.your-element).css({'display':'inline'});

代替 .show()。

.hide() 仍然可以照常使用。现在想不出什么聪明的办法。

于 2012-04-17T22:02:04.737 回答
0

根据 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 中一直存在。

于 2012-04-17T22:06:41.177 回答
0

@benhowdle89 jQuery 似乎已经可以做到这一点。你用的是什么版本?

于 2012-04-17T22:07:31.663 回答