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]
