- From: Lea Verou <lea@w3.org>
- Date: Fri, 9 Nov 2012 22:14:21 +0200
- To: Dave Smith <da__smith@hotmail.com>
- Cc: www-style w3 <www-style@w3.org>
- Message-Id: <C259E3D1-B460-4AA7-916E-1BFB902B6745@w3.org>
Sounds like this would be solved by the :nth-match() pseudo-class [1] in Selectors 4. Specifically, the selector in your example would be li:nth-match(7 of li) or just :nth-match(7 of li). [1]: http://www.w3.org/TR/selectors4/#the-nth-match-pseudo Lea Verou W3C developer relations http://w3.org/people/all#lea ✿ http://lea.verou.me ✿ @leaverou On Nov 9, 2012, at 12:33, Dave Smith wrote: > Hi > > > The :nth-of-type and similar selectors are really great but is there reason why we don't have a selector equivalent to document.getElementsByTagName? > > > A selector like ":nth" that would only ever select zero or one element in comparison to :nth-of-type or similar which can select zero or more elements. > > > For example > li:nth(7) > would be equivalent to document.getElementsByTagName('li')[6] > > > I for one would find this useful in making my CSS more robust and easier to write, for example take this very rough and contrived scenario: > > > Document 1: > <h1></h1> > <h1></h1> > > > Document 2: > <p></p> > <div><h1></h1></div> > <h1></h1> > > > Document 3: > <div> <div> <h1></h1> </div> </div> > <h1></h1> > > > In this example I want to ensure that the first h1 always has less of a margin above it (or conversely I want to ensure that any subsequent h1s have more of a margin above them) and importantly I have no control over the markup I'm receiving. > > > There may be are other use-cases for a selector equivalent to document.getElementsByTagName. > > > all the best > Dave
Received on Friday, 9 November 2012 20:14:32 UTC