A tricky CSS selector question, don't know if it's even possible.
Lets say this is the HTML layout:
<div></div> <div></div> <div></div> <div style="display:none"></div> <div style="display:none"></div>
I want to select the last div
, which is displayed (ie. not display:none
) which would be the third div
in the given example. Mind you, the number of div
s on the real page can differ (even the display:none
ones).
The :last-child selector allows you to target the last element directly inside its containing element. It is defined in the CSS Selectors Level 3 spec as a “structural pseudo-class”, meaning it is used to style content based on its relationship with parent and sibling content.
The :visible selector selects every element that is currently visible. Visible elements are elements that are not: Set to display:none. Form elements with type="hidden"
To select the last element of a specific class, you can use the CSS :last-of-type pseudo-class.
You could select and style this with JavaScript or jQuery, but CSS alone can't do this.
For example, if you have jQuery implemented on the site, you could just do:
var last_visible_element = $('div:visible:last');
Although hopefully you'll have a class/ID wrapped around the divs you're selecting, in which case your code would look like:
var last_visible_element = $('#some-wrapper div:visible:last');
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With