1

我使用了很多$("#foo").css("bar", "baz");if/else 语句来将我的选项更改应用到我的应用程序(jQuery 移动)。我的问题是,有没有更短的方法来写这个?就像是$("#foo").css("bar", ((foobar == foobaz) ? "bazbaz" : "bazfoo"));

还是在加载主页以在设备上实现 jQuery mobile 中的选项时在 DOM 中删除/创建对象会更好(性能)?

4

1 回答 1

2

jQuery 的.hide(),并且.show()会比很多.css('display', ...).

辅助函数更简洁。display它们本质上与您当前所做的设置相同,但它更具可读性。辅助函数的另一个好处是它们将保持原始显示值,而手动设置display时,您需要知道显示时的原始显示是什么(例如块,内联)。

文档

这大致相当于调用 .css('display', 'block'),除了 display 属性恢复到最初的样子。如果一个元素的显示值为 inline,然后被隐藏并显示,它将再次被显示为 inline。

或者,创建一个hidden类,并使用:

.addClass('hidden').removeClass('hidden')根据需要。

于 2013-07-03T12:18:45.977 回答