在jQuery代码中,我动态地显示和隐藏了一些内容。jquery中的hide()
if (this.hide()) {
this.show();
}
else {
alert("Hello");
this.hide();
}
但是其他部分永远不会被执行。为什么?
在jQuery代码中,我动态地显示和隐藏了一些内容。jquery中的hide()
if (this.hide()) {
this.show();
}
else {
alert("Hello");
this.hide();
}
但是其他部分永远不会被执行。为什么?
我会做这样的事情:
if($(this).is(':hidden')) {
$(this).show();
}
else {
$(this).hide();
}
还是取决于你想要做什么,你可以尝试toggle()
在如果你是hidding的元素。 你应该做this.is(“:隐藏”)
你在找什么是
this.toggle();
你永远达不到你的“其他”条款的原因是因为hide()
返回找到的元素选择器(用于方法链接原因)。因为它总是会返回一个有效的对象,它会永远解析为“truthy”,即不null, "", 0, false
等
this.hide()
正在运行的隐藏功能,没有检查,如果它是隐藏的,因此它是将其设置为隐藏,然后运行this.show()
已经说过toggle()
是你想要的,因为它为你做了检查,而不必为此编码。
在大多数情况下,我会选择切换选项。 – Kezzer 2009-11-23 12:15:45