我使用设置CSS样式属性的通用JavaScript更改了几页
element.style.display = "none";
到jQuery的方法
element.hide();
当使用后退按钮返回我的页面时,不再隐藏使用jQuery隐藏的元素。当我使用原始JavaScript设置显示时,隐藏的元素在我返回页面时保持隐藏状态。
是否有解决方法允许jQuery的hide()函数以相同的方式工作?
答案 0 :(得分:9)
jQuery的hide
方法执行
for ( i = 0; i < j; i++ ) {
this[i].style.display = "none";
}
你还有其他问题。
完整的方法是
hide: function( speed, easing, callback ) {
if ( speed || speed === 0 ) {
return this.animate( genFx("hide", 3), speed, easing, callback);
} else {
for ( var i = 0, j = this.length; i < j; i++ ) {
var display = jQuery.css( this[i], "display" );
if ( display !== "none" ) {
jQuery.data( this[i], "olddisplay", display );
}
}
// Set the display of the elements in a second loop
// to avoid the constant reflow
for ( i = 0; i < j; i++ ) {
this[i].style.display = "none";
}
return this;
}
},
答案 1 :(得分:3)
存在巨大差异:
调用.hide()
时,显示属性的值保存在jQuery的数据高速缓存中,因此在调用.show()
时,将恢复初始显示值!
答案 2 :(得分:0)
它是一样的。 jQuery hide应用display:none;对元素。是什么触发你的隐藏?是在文件中。已经??看起来当你点击“返回”时它不会执行javascript。