>>I highly suggest you first pass the HTML through a validator. The >>DOCTYPE is not recognized because of "PUBliC"... *sigh*, I'll get there one of these days...a validation mistake is really embarrassing. Thanks again for the feedback.
On Sun, May 29, 2011 at 5:07 PM, Diego Perini <[email protected]>wrote: > On Mon, May 30, 2011 at 12:45 AM, Nathan Sweet <[email protected]> > wrote: > > Okay I found some interesting failures. If you want to have a look see > again > > (http://nathansweet.me/queryselectorall-rundown). The general sibling > > selector, ie tilde, ie "~", fails to return. The matches selector fails > on > > Also there are no "ol" elements inside "div" in that page, the general > sibling selector fails for that reason. > > The other two failure you have in that test page are probably false > positive too, the ":checked" attribute is to test live state of the > checkbox not it's attribute value. For that use "#checkbox[checked]" > and please use "checked" as value not "yes". > > I highly suggest you first pass the HTML through a validator. The > DOCTYPE is not recognized because of "PUBliC"... > > -- > Diego > > > > the first call for me, I'm going to try some others. This is the last > you'll > > hear from me for a while on the subject until I have a whole test suite > > going and I'm sure my selectors are failing for the right reasons. > > > > On Sun, May 29, 2011 at 10:33 AM, Diego Perini <[email protected]> > > wrote: > >> > >> On Sun, May 29, 2011 at 4:29 PM, Nathan Sweet <[email protected]> > >> wrote: > >> >>>The only selector string failing in your tests is the ".1st-p" which > >> >>>correctly fails since the class name does not correspond to a valid > >> >>>identifier. > >> > Fixed. Thanks for the heads up. > >> > TOALL: > >> > Doesn't anybody know of any interesting failures with qSA? I'm not > >> > saying it > >> > to be smug, I can't find any. I'm sure that it fails on some pseudos. > >> > >> > >> Nathan, > >> I am sure I don't cover everything in my feature testing but the block > >> of code handling that in NWMatcher could be a start, it is commented > >> and includes external links to related readings: > >> > >> > https://github.com/dperini/nwmatcher/blob/master/src/nwmatcher.js#L328 > >> > >> that block is specific for bugs related to the "querySelectorAll" > >> method. You should probably expect the same bugs be present in the > >> "querySelector" method. > >> > >> One very annoying bug is in the Webkit/Chrome implementation of the > >> "matchesSelector" method (WebkitMatchesSelector), the problem seems to > >> be that first call return correct results while second and further > >> calls will return incorrect results. This bug happens with indexed > >> structural pseudo-classes like ":nth-child()", see this bug for more > >> informations and a small test: > >> > >> http://code.google.com/p/chromium/issues/detail?id=78266 > >> > >> Hope this gives you enough material to start with ;-) > >> > >> > >> -- > >> Diego > >> > >> > >> > On Sun, May 29, 2011 at 1:42 AM, Diego Perini <[email protected] > > > >> > wrote: > >> >> > >> >> Nathan, > >> >> the "querySelectorAll" method exists also on IE 8 in Standard Mode. > >> >> > >> >> In all IE versions < 9 there are problem with the "Universal > selector" > >> >> since their API methods returns text nodes included in the result > set. > >> >> This is not only a problem with "querySelectorAll", in fact on IE < 9 > >> >> also "getElementsByTagName" has the same problems with text nodes. > >> >> > >> >> There are several other bugs in IE < 9 related to elements selection > >> >> API. The baseline for IE is that after retrieving the NodeList one > >> >> need to go through it members discarding text nodes, comments and > >> >> invalid elements. > >> >> > >> >> The conditional I prefer to use to filter appropriate nodes from the > >> >> list > >> >> is: > >> >> > >> >> if (element.nodeName > '@') { > >> >> .... // it is an Element node > >> >> } > >> >> > >> >> also the standard one is: > >> >> > >> >> if (element.nodeType == 1) { > >> >> .... // it is an Element node > >> >> } > >> >> > >> >> I prefer the first since it also helps discard fake "closed tags" > >> >> elements for non recognized HTML5 elements, for example: > >> >> > >> >> <abbr>NYC</abbr> > >> >> > >> >> could be recognized as two elements in some IE version <= 8, the > first > >> >> is the open tag "abbr", the second is the close tag "/abbr" which > >> >> tagName/nodeName starts with a slash. > >> >> > >> >> The only selector string failing in your tests is the ".1st-p" which > >> >> correctly fails since the class name does not correspond to a valid > >> >> identifier. > >> >> > >> >> > >> >> -- > >> >> Diego > >> >> > >> >> > >> >> > >> >> On Sun, May 29, 2011 at 7:34 AM, Nathan Sweet < > [email protected]> > >> >> wrote: > >> >> >>>Whats the difference in Chrome, FF? nodelist is non-live in all of > >> >> >>> them. > >> >> > When I said unlike the others I meant the other IE versions, not > the > >> >> > other > >> >> > browsers, my bad : > >> >> > It's kind of a moot point anyways, if it was implemented in <IE9 > then > >> >> > it > >> >> > might have been implemented correctly. What I was referring to is > >> >> > that > >> >> > in > >> >> > <IE9 a lot of the selectors return nodelists that > >> >> > include intermittent > >> >> > text > >> >> > nodes for the empty spaces, whereas other browsers don't do that. I > >> >> > was > >> >> > referring to this particular quirk in <IE9, which prevents > >> >> > Array.prototype.slice.call from being cross-browser friendly for > node > >> >> > lists > >> >> > for certain selector methods. Someone once told me that some > >> >> > libraries > >> >> > remove all the white space between elements, but I don't actually > see > >> >> > how > >> >> > that could help as a spaced out innerHTML assignment could easily > >> >> > foul > >> >> > it > >> >> > up. > >> >> > > >> >> > On Sat, May 28, 2011 at 10:14 PM, Andrew Dodson > >> >> > <[email protected]> > >> >> > wrote: > >> >> >> > >> >> >> Isn't that what its supposed > >> >> >> to http://www.w3.org/TR/selectors-api/#nodeselector > >> >> >> Whats the difference in Chrome, FF? nodelist is non-live in all of > >> >> >> them. > >> >> >> > >> >> >> > >> >> >> > >> >> >> On Sat, May 28, 2011 at 7:58 PM, Nathan Sweet > >> >> >> <[email protected]> > >> >> >> wrote: > >> >> >>> > >> >> >>> I meant <IE9, IE9 also only returns elements in its nodelists, > >> >> >>> unlike > >> >> >>> the > >> >> >>> others. > >> >> >>> > >> >> >>> On Sat, May 28, 2011 at 7:54 PM, Andrew Dodson > >> >> >>> <[email protected]> wrote: > >> >> >>>> > >> >> >>>> querySelectorAll is enabled in IE9, checkout "ie9 testdrive". > >> >> >>>> > >> >> >>>> On 28 May 2011 19:50, "nathanJsweet" <[email protected]> > >> >> >>>> wrote: > >> >> >>>> > >> >> >>>> So I've been messing around with querySelectorAll. I've > published > >> >> >>>> a blog post about it which can be found at "nathansweet.me/ > >> >> >>>> queryselectorall", > >> >> >>>> though I'm not really plugging the post, which actually doesn't > >> >> >>>> have > >> >> >>>> so > >> >> >>>> much information concerning the method as it does a link to a > page > >> >> >>>> I've created that tests the method. > >> >> >>>> > >> >> >>>> I'm asking anybody in this group who is interested take a look > >> >> >>>> at this page (it can be found at " > nathansweet.me/queryselectorall- > >> >> >>>> rundown") > >> >> >>>> and email me, respond to this post, or comment on the blog post > >> >> >>>> any > >> >> >>>> other selector ideas they can come up with. My goal would be to > >> >> >>>> come > >> >> >>>> up with an exhaustive list of selectors that I could then run > >> >> >>>> through > >> >> >>>> a multitude of browsers (I would, of course, share the results). > >> >> >>>> I've > >> >> >>>> already come up with some interesting failures that shouldn't be > >> >> >>>> occurring, > >> >> >>>> and I'm also interested to hear from people who've worked with > the > >> >> >>>> method extensively. > >> >> >>>> > >> >> >>>> Also am I wrong in thinking that since querySelectorAll isn't > >> >> >>>> implemented in IE > >> >> >>>> that it will always return only elements? Thus, is it safe to do > >> >> >>>> Array.prototype.slice.call > >> >> >>>> on any nodelist returned by querySelectorAll? I haven't thought > of > >> >> >>>> a > >> >> >>>> case yet where > >> >> >>>> this wouldn't be a bad idea, let me know. > >> >> >>>> > >> >> >>>> Also, if nobody helps it's no big deal, as I will be adding > >> >> >>>> selectors > >> >> >>>> to it over the coming weeks, > >> >> >>>> so if you're into bookmarking it might be worth coming back for > a > >> >> >>>> second or third look. > >> >> >>>> > >> >> >>>> -- > >> >> >>>> To view archived discussions from the original JSMentors Mailman > >> >> >>>> list: > >> >> >>>> http://www.mail-archive.com/[email protected]/ > >> >> >>>> > >> >> >>>> To search via a non-Google archive, visit here: > >> >> >>>> http://www.mail-archive.com/[email protected]/ > >> >> >>>> > >> >> >>>> To unsubscribe from this group, send email to > >> >> >>>> [email protected] > >> >> >>>> > >> >> >>>> -- > >> >> >>>> To view archived discussions from the original JSMentors Mailman > >> >> >>>> list: > >> >> >>>> http://www.mail-archive.com/[email protected]/ > >> >> >>>> > >> >> >>>> To search via a non-Google archive, visit here: > >> >> >>>> http://www.mail-archive.com/[email protected]/ > >> >> >>>> > >> >> >>>> To unsubscribe from this group, send email to > >> >> >>>> [email protected] > >> >> >>> > >> >> >>> -- > >> >> >>> To view archived discussions from the original JSMentors Mailman > >> >> >>> list: > >> >> >>> http://www.mail-archive.com/[email protected]/ > >> >> >>> > >> >> >>> To search via a non-Google archive, visit here: > >> >> >>> http://www.mail-archive.com/[email protected]/ > >> >> >>> > >> >> >>> To unsubscribe from this group, send email to > >> >> >>> [email protected] > >> >> >> > >> >> >> -- > >> >> >> To view archived discussions from the original JSMentors Mailman > >> >> >> list: > >> >> >> http://www.mail-archive.com/[email protected]/ > >> >> >> > >> >> >> To search via a non-Google archive, visit here: > >> >> >> http://www.mail-archive.com/[email protected]/ > >> >> >> > >> >> >> To unsubscribe from this group, send email to > >> >> >> [email protected] > >> >> > > >> >> > -- > >> >> > To view archived discussions from the original JSMentors Mailman > >> >> > list: > >> >> > http://www.mail-archive.com/[email protected]/ > >> >> > > >> >> > To search via a non-Google archive, visit here: > >> >> > http://www.mail-archive.com/[email protected]/ > >> >> > > >> >> > To unsubscribe from this group, send email to > >> >> > [email protected] > >> >> > > >> >> > >> >> -- > >> >> To view archived discussions from the original JSMentors Mailman > list: > >> >> http://www.mail-archive.com/[email protected]/ > >> >> > >> >> To search via a non-Google archive, visit here: > >> >> http://www.mail-archive.com/[email protected]/ > >> >> > >> >> To unsubscribe from this group, send email to > >> >> [email protected] > >> > > >> > -- > >> > To view archived discussions from the original JSMentors Mailman list: > >> > http://www.mail-archive.com/[email protected]/ > >> > > >> > To search via a non-Google archive, visit here: > >> > http://www.mail-archive.com/[email protected]/ > >> > > >> > To unsubscribe from this group, send email to > >> > [email protected] > >> > > >> > >> -- > >> To view archived discussions from the original JSMentors Mailman list: > >> http://www.mail-archive.com/[email protected]/ > >> > >> To search via a non-Google archive, visit here: > >> http://www.mail-archive.com/[email protected]/ > >> > >> To unsubscribe from this group, send email to > >> [email protected] > > > > -- > > To view archived discussions from the original JSMentors Mailman list: > > http://www.mail-archive.com/[email protected]/ > > > > To search via a non-Google archive, visit here: > > http://www.mail-archive.com/[email protected]/ > > > > To unsubscribe from this group, send email to > > [email protected] > > > > -- > To view archived discussions from the original JSMentors Mailman list: > http://www.mail-archive.com/[email protected]/ > > To search via a non-Google archive, visit here: > http://www.mail-archive.com/[email protected]/ > > To unsubscribe from this group, send email to > [email protected] > -- To view archived discussions from the original JSMentors Mailman list: http://www.mail-archive.com/[email protected]/ To search via a non-Google archive, visit here: http://www.mail-archive.com/[email protected]/ To unsubscribe from this group, send email to [email protected]
