Thanks for the fast response. Unfortunately it doesn't work :(
2009/2/3 Eric Garside <gars...@gmail.com> > > Try this: > > var containerSelecteds = function() { > return $('ul.selected', container); > }; > > I've had pretty good luck using that syntax instead of using .find() > or .children(). It might solve the problem on safari (as I think the > reason I stopped using find() or children() was that the above was > much more reliable on my mac for doing dev work.) > > On Feb 3, 10:39 am, Javier Martinez <ecentin...@gmail.com> wrote: > > I'm creating a component for an application I'm developing and I have > > upgraded jquery to the last version to get it's speed boost. > > After some testing I have seen that my component is not working correctly > in > > webkit browsers because there is some bug with the new Sizzle selector of > > the new jquery. > > I can't provide my source files, but I have created a simple test case > that > > shows this error. > > > > <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" > > "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> > > <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> > > <head> > > <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> > > <script type="text/javascript" src="jquery.js"></script> > > <script type="text/javascript"> > > $(function() { > > var container = $('#container'); > > > > var containerSelecteds = function() { > > return container.find('ul.selected'); > > }; > > > > var bodySelecteds = function() { > > return $('ul.selected'); > > }; > > > > var select = function(nodes) { > > containerSelecteds().removeClass('selected'); > > > > nodes.addClass('selected'); > > > > // the container html show me that the element has the > class > > "selected" > > alert(container.html()); > > > > // webkit (chrome and safari) says that there are no > > elements inside of <container> with the class "selected" > > alert(containerSelecteds().length); > > > > // but the element exists in the dom, and it has the > > classname "selected" !! > > alert(bodySelecteds().length); > > }; > > > > var element = $('<ul > > class="someclass"><li>MyText</li></ul>').appendTo(container); > > select(element, false); > > }); > > </script> > > </head> > > <body> > > <div id="container" style="border:1px solid > > #ccc;height:300px;width:300px"></div> > > </body> > > </html> > > > > I will try to explain the error: I'm inserting a node inside the > "container" > > div, and applying a classname "selected" to this node. After this, I want > to > > select the nodes inside "container" that have this classname. Firefox, > IE, > > etc, says that there is one node inside "container". But webkit browsers > > says that there is a node with this classname in the dom, but not inside > > "container". > > > > I think that this is a quite simple css selector, so I don't know why it > > fails. > > > > Thanks. > > > > PD: it doesn't fails with jquery 1.2.6 >