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
-~----------~----~----~----~------~----~------~--~---

Reply via email to