show is now element aware (#960)

This commit is contained in:
Brandon Aaron 2007-12-08 04:54:53 +00:00
parent 91f1299f68
commit b3ec8edddd
3 changed files with 33 additions and 7 deletions

View file

@ -6,9 +6,12 @@ jQuery.fn.extend({
}, speed, callback) :
this.filter(":hidden").each(function(){
this.style.display = this.oldblock ? this.oldblock : "";
if ( jQuery.css(this,"display") == "none" )
this.style.display = "block";
this.style.display = this.oldblock || "";
if ( jQuery.css(this,"display") == "none" ) {
var elem = jQuery("<" + this.tagName + " />").appendTo("body");
this.style.display = elem.css("display");
elem.remove();
}
}).end();
},
@ -20,8 +23,6 @@ jQuery.fn.extend({
this.filter(":visible").each(function(){
this.oldblock = this.oldblock || jQuery.css(this,"display");
if ( this.oldblock == "none" )
this.oldblock = "block";
this.style.display = "none";
}).end();
},
@ -417,4 +418,4 @@ jQuery.fx.step = {
_default: function(fx){
fx.elem.style[ fx.prop ] = fx.now + fx.unit;
}
};
};

View file

@ -113,3 +113,5 @@ div.chain.test div { background: green; }
div.chain.out { background: green; }
div.chain.out div { background: red; display: none; }
div#show-tests * { display: none; }

View file

@ -1106,12 +1106,35 @@ test("prev([String])", function() {
});
test("show()", function() {
expect(1);
expect(15);
var pass = true, div = $("div");
div.show().each(function(){
if ( this.style.display == "none" ) pass = false;
});
ok( pass, "Show" );
$("#main").append('<div id="show-tests"><div><p><a href="#"></a></p><code></code><pre></pre><span></span></div><table><thead><tr><th></th></tr></thead><tbody><tr><td></td></tr></tbody></table><ul><li></li></ul></div>');
var test = {
"div" : "block",
"p" : "block",
"a" : "inline",
"code" : "inline",
"pre" : "block",
"span" : "inline",
"table" : $.browser.msie ? "block" : "table",
"thead" : $.browser.msie ? "block" : "table-header-group",
"tbody" : $.browser.msie ? "block" : "table-row-group",
"tr" : $.browser.msie ? "block" : "table-row",
"th" : $.browser.msie ? "block" : "table-cell",
"td" : $.browser.msie ? "block" : "table-cell",
"ul" : "block",
"li" : $.browser.msie ? "block" : "list-item"
};
$.each(test, function(selector, expected) {
var elem = $(selector, "#show-tests").show();
equals( elem.css("display"), expected, "Show using correct display type for " + selector );
});
});
test("addClass(String)", function() {