I feel like i should provide more insight. That was rather vague. An ID could be labelled "a.b:c" and referenced in your style sheet as #a.b:c but as well as being the id of an element, it could mean:
id "a", class "b", pseudo-selector "c". Best to avoid the confusion and stay away from using . and : altogether. On Mon, Jul 20, 2009 at 10:10 PM, Rick Waldron <waldron.r...@gmail.com>wrote: > Instead of changing the way the core works... and potentially causing > breakage to existing code - perhaps you might try rewriting your selector > statement with escaped periods. > > This question caused me to read a bunch regarding valid id's from one html > spec to another, and then double back to css selector specs. Apparently, > they didn't compare notes... > > Rick > > > > > > On Mon, Jul 20, 2009 at 11:28 AM, Mona Remlawi <mona.reml...@gmail.com>wrote: > >> >> You've guessed it, it's unfeasible, the amount of effort that takes >> makes my head hurt :) >> Anyway, i found the little bug in prototype (hooray!). >> >> IE8 and FF3 have their selectors go into 'selectorsAPI' mode, now into >> some debugging (version: 1.6.0.3) >> << >> 2723: this.mode = 'selectorsAPI'; >> ... >> 2823: findElements: function(root) { >> ... >> 2837: case 'selectorsAPI': >> ... >> 2842: var oldId = root.id, id = $(root).identify(); >> 2843: e = "#" + id + " " + e; >> alert(e) // you'll see how the dots are confusing >> the selector for classnames ... >> >> >> >> Now for a fix, i changed the following line in Element#identify >> << >> 1782: if (id) return id.replace(/\./g, '\\.'); >> >> >> to escape the dots. >> >> with that, the unit test will succeed. >> >> I'm not sure if this is the best way to go around it, or if there is >> another chars for escaping, so it's in your hands now. >> >> Waiting for the feedback and hopefully a patch :) >> >> cheers >> >> -- >> mona >> >> On Mon, Jul 20, 2009 at 5:06 PM, Richard >> Quadling<rquadl...@googlemail.com> wrote: >> > >> > 2009/7/20 Mona Remlawi <mona.reml...@gmail.com>: >> >> >> >> Hello prototypers, >> >> >> >> I'm getting a basic error (in selectors) in *IE8/FF3* and don't think >> >> anyone has reported it yet -- or maybe did, i searched but not >> >> extensively. >> >> The problem is that the Element#selector fails when invoked on an >> >> Element that has a '.' in its id. >> >> I've put a small unit test on pastie, you just need to get a copy of >> >> unittest.js from scriptaculous (and test.css if you like colors :) ) >> >> http://pastie.org/552134 >> >> >> >> Tested with both version#1.6.0.3 and version#1.6.1RC#3 with the same >> results. >> >> >> >> Any help is greatly appreciated, I'm trying to debug on my own but >> >> doubt i'll reach somewhere. >> >> >> >> cheers >> >> >> >> -- >> >> mona >> >> >> >> > >> >> >> > >> > I don't know how feasible it it, but maybe globally changing your IDs >> > to use "_" rather than "." would be a quick and easy fix. >> > >> > >> > >> > -- >> > ----- >> > Richard Quadling >> > Zend Certified Engineer : >> http://zend.com/zce.php?c=ZEND002498&r=213474731 >> > "Standing on the shoulders of some very clever giants!" >> > ZOPA : http://uk.zopa.com/member/RQuadling >> > >> > > >> > >> >> >> >> > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Prototype & script.aculo.us" group. To post to this group, send email to prototype-scriptaculous@googlegroups.com To unsubscribe from this group, send email to prototype-scriptaculous+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/prototype-scriptaculous?hl=en -~----------~----~----~----~------~----~------~--~---