Hi, a couple of months ago I made little patch to Sizzle http://groups.google.com/group/jquery-dev/browse_thread/thread/d74e5a88b9649d24 to enable selection by data and css properties inside an attribute selector: http://jsbin.com/otoqo/edit
It uses a negative lookahead to prevent other selectors to match inside square brackets, so it "accidentally" fixes some of the bugs reported here. But the interesting thing is that I ran a few Slickspeed tests to see its impact on speed and quite surprisingly it turned out to be even 1-2% faster on FF3 and in IE7 the difference is below 1 percent. I only tested with 1.3b1 and it passes all the jQuery selector tests as well! On Jan 3, 3:25 pm, "John Resig" <jere...@gmail.com> wrote: > The primary issue is that Sizzle randomly grabs portions of a selector > in a specific order. This helps to improve speed but it harms complex > cases like this. I'm working on a patch to resolve it. > > --John > > On Sat, Jan 3, 2009 at 12:56 AM, chuyeow <chuy...@gmail.com> wrote: > > > Hi Olaf, > > > This bug has been reported before but there is no patch for it yet. > > > So far I've been able to narrow it down to selectors with periods in > > them being incorrectly recognized as a class selector, but do not have > > enough regex-fu to know how to solve the bug yet. > > > The class selector regex in Sizzle: /\.((?:[\w\u0128-\uFFFF_-]|\\.)+)/ > > > Running this regex against "a[href$='.jpg']" (or any similar non-class > > selector with a period in them): > > "a[href$='.jpg/']".match(/\.((?:[\w\u0128-\uFFFF_-]|\\.)+)/) > > => returns matches = [.jpg, jpg] which is wrong > > > Hopefully this helps anyone also looking at the bug. > > > Cheers, > > Chu Yeow > > > On Dec 30 2008, 8:19 pm, Olaf <olaf.bo...@t-online.de> wrote: > >> Hi, I test 1.3.b1 and this Selector work any more: > > >> <script type="text/javascript"> > >> //<![CDATA[ > >> $(document).ready(function() { > >> // no more with 1.3b1 > >> // $("#content a[href$='.jpg']").lightBox(); > >> $("#content a").lightBox();}); > > >> //]]> > >> </script> > > >> What is to do? Thanks. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "jQuery Development" group. To post to this group, send email to jquery-dev@googlegroups.com To unsubscribe from this group, send email to jquery-dev+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/jquery-dev?hl=en -~----------~----~----~----~------~----~------~--~---