#7315 closed bug (fixed)
$.fn.show fails to show element if element hidden with style rule
Reported by: | mechismo | Owned by: | john |
---|---|---|---|
Priority: | blocker | Milestone: | 1.4.4 |
Component: | css | Version: | 1.4.3 |
Keywords: | Cc: | ||
Blocked by: | Blocking: |
Description
If an element is hidden using a style rule and you call show:
$("#foo").css("display","block").show();
Fails in 1.4.3 - versions < 1.4.3 behave as expected, the element is shown.
Test case:
Steps to recreate:
Bug: Select jQuery version 1.4.3, run and click "Show" button. The element is not shown.
Expected behaviour: Select jQuery version < 1.4.3, run and click "Show" button. The element is shown as expected.
I understand setting the style to display:block prior to calling show is counter productive but the behaviour is so different to previous versions it's worthy of a bug
Change History (5)
comment:1 Changed 13 years ago by
Component: | unfiled → css |
---|---|
Priority: | undecided → blocker |
Status: | new → open |
comment:2 Changed 13 years ago by
I've committed a fix for this on github, along with tests. Would appreciate review before I send a pull request:
http://github.com/kswedberg/jquery/commit/a8d0c823f5a09de02f4de85d40f7a38edf63d79d
comment:3 Changed 13 years ago by
Milestone: | 1.5 → 1.4.4 |
---|---|
Owner: | set to john |
Status: | open → assigned |
Gonna try to get this landed for 1.4.4. Thanks for catching it, kswedberg!
comment:4 Changed 13 years ago by
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
For .show() with no arguments, only set display of elements in the second loop if they don't have style.display already set or if style.display isn't none. Fixes #7315.
Changeset: 6ab402dced3339d24ad007ecf3a6c3f5af3e7610
Confirmed with 1.4.4rc1 - This is may have huge regression implications
http://jsfiddle.net/rwaldron/RxP32/2/