( elements, show )
| 6667 | } |
| 6668 | |
| 6669 | function showHide( elements, show ) { |
| 6670 | var display, elem, hidden, |
| 6671 | values = [], |
| 6672 | index = 0, |
| 6673 | length = elements.length; |
| 6674 | |
| 6675 | for ( ; index < length; index++ ) { |
| 6676 | elem = elements[ index ]; |
| 6677 | if ( !elem.style ) { |
| 6678 | continue; |
| 6679 | } |
| 6680 | |
| 6681 | values[ index ] = jQuery._data( elem, "olddisplay" ); |
| 6682 | display = elem.style.display; |
| 6683 | if ( show ) { |
| 6684 | // Reset the inline display of this element to learn if it is |
| 6685 | // being hidden by cascaded rules or not |
| 6686 | if ( !values[ index ] && display === "none" ) { |
| 6687 | elem.style.display = ""; |
| 6688 | } |
| 6689 | |
| 6690 | // Set elements which have been overridden with display: none |
| 6691 | // in a stylesheet to whatever the default browser style is |
| 6692 | // for such an element |
| 6693 | if ( elem.style.display === "" && isHidden( elem ) ) { |
| 6694 | values[ index ] = jQuery._data( elem, "olddisplay", css_defaultDisplay(elem.nodeName) ); |
| 6695 | } |
| 6696 | } else { |
| 6697 | |
| 6698 | if ( !values[ index ] ) { |
| 6699 | hidden = isHidden( elem ); |
| 6700 | |
| 6701 | if ( display && display !== "none" || !hidden ) { |
| 6702 | jQuery._data( elem, "olddisplay", hidden ? display : jQuery.css( elem, "display" ) ); |
| 6703 | } |
| 6704 | } |
| 6705 | } |
| 6706 | } |
| 6707 | |
| 6708 | // Set the display of most of the elements in a second loop |
| 6709 | // to avoid the constant reflow |
| 6710 | for ( index = 0; index < length; index++ ) { |
| 6711 | elem = elements[ index ]; |
| 6712 | if ( !elem.style ) { |
| 6713 | continue; |
| 6714 | } |
| 6715 | if ( !show || elem.style.display === "none" || elem.style.display === "" ) { |
| 6716 | elem.style.display = show ? values[ index ] || "" : "none"; |
| 6717 | } |
| 6718 | } |
| 6719 | |
| 6720 | return elements; |
| 6721 | } |
| 6722 | |
| 6723 | jQuery.fn.extend({ |
| 6724 | css: function( name, value ) { |
no test coverage detected