Opened 14 years ago
Closed 13 years ago
#6287 closed bug (wontfix)
show() hide() bug if element is hidden with css class property
Reported by: | orensol | Owned by: | |
---|---|---|---|
Priority: | undecided | Milestone: | |
Component: | css | Version: | 1.4.2 |
Keywords: | css, show, hide | Cc: | |
Blocked by: | Blocking: |
Description
If an element is hidden with a css class, and then you call show() and hide() on the element, it remains with a new style property of "style = 'display: none;'".
This behavior can be unwanted in some cases. hide() in this case should remove the "display" property that was added to the style attribute.
Attachments (1)
Change History (7)
comment:1 Changed 13 years ago by
Changed 13 years ago by
Attachment: | test-hide.html added |
---|
comment:2 Changed 13 years ago by
Attached test-hide.html, notice how the img is first hidden with the css class .hid, and after show().hide() is called, it is hidden with the element.style.
comment:3 Changed 13 years ago by
Resolution: | → worksforme |
---|---|
Status: | new → closed |
This is intentional. Although it's easy to get the element's css display property, it is harder to know whether it's from a stylesheet or an inline style. Is there some situation where the current behavior breaks something?
comment:4 Changed 13 years ago by
Resolution: | worksforme |
---|---|
Status: | closed → reopened |
Yes, this behavior breaks something.
If that element is hidden because a parent element is hidden, and you have code that somewhere along the way shows the parent element, this child element remains hidden, although the expected result would be it is shown.
Also, it's not that hard to know if the style is inline. (obj.attr('style').indexOf('display') > -1) should do the trick.
comment:6 Changed 13 years ago by
Priority: | → undecided |
---|---|
Resolution: | → wontfix |
Status: | reopened → closed |
Calling hide
, show
, css
, etc. always implies a style override.
Can you provide a test case?