Bug Tracker

Opened 9 years ago

Closed 9 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)

test-hide.html (380 bytes) - added by orensol 9 years ago.

Download all attachments as: .zip

Change History (7)

comment:1 Changed 9 years ago by seasoup

Can you provide a test case?

Changed 9 years ago by orensol

Attachment: test-hide.html added

comment:2 Changed 9 years ago by orensol

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 9 years ago by dmethvin

Resolution: worksforme
Status: newclosed

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 9 years ago by orensol

Resolution: worksforme
Status: closedreopened

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:5 Changed 9 years ago by snover

Milestone: 1.4.3

Resetting milestone to future.

comment:6 Changed 9 years ago by snover

Priority: undecided
Resolution: wontfix
Status: reopenedclosed

Calling hide, show, css, etc. always implies a style override.

Note: See TracTickets for help on using tickets.