1.3.1 performance degradation for :has() + :first in a selector
I'm sure this is not the most elegant line of code, but in 1.2.6, there was no performance hit (i.e. a moderately complex page/form loaded in the blink of an eye). In 1.3.1 this now takes > 10 seconds with 100% cpu: var parentWithIdAttribute = jQuery(this).parents('fieldset:has ([id]):first').attr('id'); This is used to determine the context of a bunch of labels and legends within a selector.each(). Commenting out this single line restores the performance (but obviously breaks my app). Not sure whether
Regression in .append() .prepend() etc, between 1.2.6 and 1.3.1
I just created a ticket (http://dev.jquery.com/ticket/4174) with demo/ test-cases for both versions of jQuery... --------------------------------------- The following code produces quite different results in jQuery 1.2.6 and 1.3.1 ... var protoElm = $('#proto b'); protoElm .bind('click', function(e){ alert("I'm a click event!"); }); $('p') .append( protoElm ) .prepend( protoElm ); Results in jQuery 1.2.6: All paragraphs have a <b> element appended and prepended Clicking all <b>s triggers an alert!
Documentation Suggestion
Please add to the documentation the scale for numeric values. In the AJAX section (http://docs.jquery.com/Ajax/jQuery.ajax) in the options section there is a timeout option described but there is no mention what the default is or what the scale is (in this case it is milliseconds). Thanks.
fadeTo > fadeIn
I'm not that familiar with jQuery yet, so I wanted to pass this trough you guys first. Shouldn't this work with both a interval of 2 seconds: jQuery("p").click(function() { jQuery(this).fadeTo(2000, 0.25, function () { alert("2 seconds later => PASSED"); jQuery(this).fadeIn(2000, function() { alert("should be 2 seconds later after last alert (4 secs total)! => FAILED") }) }) }); gr J
Problem with multi bindings at one time of $.event
When i use $().bind to bind a event handler of two event type at one time like this: var o = $("#myObj"); o.bind("mouseover.a.b mouseout.a.c", function(){}); then handler registrations of the two types of event in the $.cache use the same handler, and its type is set to the last type, that is "a.c". And then ".b" will not match the Regex. So, if i call o.unbind(".b") later, it wont remove the handler of mouseover event. As we can see, In the version 1.3.1 source code, $.event.add function
$("<p>unusual</p>").after("<p>case</p>")
The before/after/insertBefore/insertAfter methods require a parentNode so that the content can be inserted relative to the element. So, $ (" unusual").after(" case") will fail. http://dev.jquery.com/ticket/3940 Maybe that should just be documented? There are plenty of other ways to solve the problem.
Duplicates in $("div").find("a")
So in the case like $("div").find("a") where an a element can be reached via multiple descendants, should the duplicates be removed? I expected they would be. http://dev.jquery.com/ticket/2490
Issues with clone and clone(true)
Hello, first time poster on this group. Joined specifically because I have hit a wall with this problem and though I can work around it, I would still like to find a resolution. I have a page where users can create new tabs. At the bottom I have a hidden div that I clone into each new tab the user creates. The relevant HTML and JS snippets: <div id="sectiontemplate"> <!-- some form fields here --> </div> // Listing A // show() to overcome #sectiontemplate { display:none; } $('#sectiontemplate').clone(true).appendTo('#section1').show();
Live Events
- The selector must be run, before the event handler is bound... this seems less than ideal, if a large number of DOM elements already exist - Always binds/listens to the document. My biggest hesitation with using live for delegation, is that there is no way to control the listener, it is always the document. It should at least use the jquery collection's context. - Functionality is private... would like to expose the internal functions "liveConvert" and "liveHandler" to enable a plugin to leverage
Rhino runtest and utf-8
If your unlucky enough to have to develop on a windows machine you might get errors when running the unit tests in rhino with the UTF-8 selectors. I resolved this in 1.2.6 and 1.3.1 by modifying the Makefile to use JAR = java -Dfile.encoding=utf-8 -jar ${BUILD_DIR}/js.jar Thanks!<br clear="all"> -- Christopher Thatcher
$("a, b, c") and Elements in document order
The querySelectorAll returns elements in documents order, but Sizzle (for now?) treat each selector separately. Maybe this can be easily resolved joining each result array in one with nodes in documents order? If so, maybe something like this would help (not tested). Or you are thinking to sort results all together? var precedes = ( document.documentElement.sourceIndex == 0 ) && function( a, b ) { return a.sourceIndex < b.sourceIndex; } || ( document.documentElement.compareDocumentPosition ) && function(
Native JSON
With the advent of native JSON support in browsers forthcoming, should jQuery.support check for the existence of the JSON obj and use it as the preferred way of parsing JSON whenever the library needs to do so? This would have the added benefit of leveraging json2.js for users who already have that library in use on sites with jQuery. --adam
Missing currentTarget in $.event.fix?
It looks like a regression to me: $.event.fix doesn't add currentTarget to the event object, which is missing in IE. Is that a regression? Or is there a reason it isn't added? Jörn
Some tickets ready for review
http://dev.jquery.com/ticket/4165 -- sounds like he needed to use live events. http://dev.jquery.com/ticket/4159 -- invalid http://dev.jquery.com/ticket/4158 -- patch of fix discovered by initjh Thanks! -- dz
Standardized Range and Selection support in jQuery
After struggling with obtaining/creating and attaching ranges in a jQuery cross-browser application (most problems on safari/web-kit), I think it would be very nice if jQuery provided a standardized way of dealing with document selection and ranges.
Put JS at the bottom
The Yslow plugin by Yahoo suggests putting Javascript at the bottom of the page. Do the jQuery devs recommend the same ? weepy
Namespace failure
Folks, I use and *love* jQuery. I also run the Lift web framework project. In Lift, we use jQuery and we use XHTML namespaces (we need to decorate certain XHTML elements with lift:gc attributes.) We've run into a very weird interaction between jQuery BlockUI and Firefox and XHTML namespaces. Basically, in jQuery 1.3.1 line 899, when the "elem" variable contains a valid namespace (in this case, lift:gc), an exception is raised: [Exception... "Component returned failure code: 0x80004003 (NS_ERROR_INVALID_POINTER)
What Wiki Software is used for the jQuery docx?
Hello, I simply love the jQuery docs and I was wondering what was powering them. I think it may be mediawiki "skinned" but I thought It would be easier to just ask the dev team instead of wildly guessing! Thanks, MJ
jQuery problem with "margin-left"
Hi I'm finding that animating an element with {"margin-left": 100} doesn't work however setting with .css works fine as does animating with { marginLeft: 100 } Is this a bug ? (On 1.3.1)
GC and jQuery
A pattern I use quite often within my JS classes is to store relevant DOM nodes as a property on the class. e.g. function Sprite(dom, html) { this.dom = dom; } Sometimes it would be convenient to store the jQuery instance bound to this node, e.g. : function Sprite(dom, html) { this.$dom = $(dom); } I've always avoided doing this as I was concerned about memory, GC and storing a 'whole' jQuery obect for each reference. However, I realise that this is entirely superstitious and was wondering if anyone
What is the process for becoming a bug fixer?
I've found that I enjoy looking at bugs and trying to replicate them and adding detail to the ticket to help the actual bug fixer with the issue when they can get around to fixing it. Take for example this ticket: http://dev.jquery.com/ticket/4081 I was able to recreate the bug and added some more details of my testing. First question, is this beneficial to the bug fixers? Am I wasting my time? A couple of tickets I found aren't really bugs at all and could probably be closed: Take this one for example:
Forcing an event handler to be the first handler
We have a few places in jQuery UI where we need to prevent events from occurring, e.g., preventing the click event after a drag. We've been partially successful by just binding a handler and the click event and returning false. This can be improved by calling event.stopImmediatePropagation(), but that won't prevent handlers bound before ours from running. The only solution I can come up with is to force our handler to be the first handler. With some help from Ariel, I've put togheter some code
There must be a better way !
I'm dynamically inserted a large number of elements into a page. I want it to be nice and speedy, so I wanted to insert them all at once to avoid multiple reflows. The only way I could figure this out was : var outer = $("<div>") for(var i in hash) { outer.append( hash[i].ui.render() ) } $(container).append( outer.html() ) This works - though perhaps a little cumbersome. However I found that the background image that I was setting on the 'render' call was getting munged. Essentially the append call
Question: Form-Field Selection with Sizzle
I work on complex web-apps with over 100 form fields per page, in addition to hundreds of other DOM elements. I found that the selector syntax $("[name=myFormField]") was slow to the point of being unusable! I did not want to add IDs to every field, so I created a custom method - $N("myFieldName") - that is dramatically faster. I only use the [name=] syntax when I need partial name matches. However, I'd much rather use native jQuery syntax for my new project, so my question is: Does Sizzle have a
2 Bug Tickets to take action on
http://dev.jquery.com/ticket/4148 Is a duplicate and can be closed, user hit submit and didn't preview first then recreated the ticket in 4149 with proper formatting. http://dev.jquery.com/ticket/4149 I don't think this is a problem with jQuery. Submitter is injecting jquery onto a page and I think the .replace method is overriding in a way that is unintended from the original page authors intent.
Q.: jQuery and Components.util.evalInSandbox / XPCNativeWrapper
Hi, does anybody have any experience/success with running jQuery inside a Mozilla Firefox sandbox, in which the global window object is a deep XPCNativeWrapper of the underlying DOM? In this environment, 'expando' properties - e.g., properties not defined by W3C DOM may be added only to 'window' and 'document', but not to any other DOM element. For example, the following code: document.expando = 'Hello'; document.body.expando = 'World'; alert(document.expando + ' ' + document.body.expando); would
jQuery Rocks!
jQuery Rocks! <a href="http://www.filamentgroup.com/examples/peeps/">http://www.filamentgroup.com/examples/peeps/</a> LOL <br clear="all">-Yëco -- Jasson Cascante Senior Interactive Engineer, Interactive Engineering Roundbox Global : enterprise : technology : genius ------------------------------------------------------------------ Avenida 11 y Calle 7-9, Barrio Amón, San Jose, Costa Rica tel: 404.567.5000 ext. 2151 | cel: +506 8810.9879 | fax: 678.623.0305 email: <a href="mailto:jasson.cascante@rbxglobal.com">jasson.cascante@rbxglobal.com</a>
slideToggle in jQuery 1.3
[repost from http://groups.google.co.uk/group/jquery-en] I noticed in version 1.3 the slideToggle animation effect has been modified with the vertical padding and vertical margin also animated to create a smoother effect" so I decided to test this out. It works great in Firefox but in IE 7 it's even less smooth than the previous version. The vertical padding and margin actually jump rather than slide, creating a noticeable jumping effect (you can see this on the jquery docs example page - http://docs.jquery.com/Effects/slideToggle).
Bug in css.outerHeight in firefox?
Hi, I was working with Kelvin Luck's great jScrollPane library, and found that it would stop rendering the scrollbars if I set a max- height property in the css. I found this conditional statement (things were cropped and pasted to just give the gist of the problem): $this = $(this); var paneHeight = $this.innerHeight(); var contentHeight = $this.outerHeight(); var percentInView = paneHeight / contentHeight; if (percentInView < .99) {...} in all other browsers, $this.outerHeight was equal (more or
setInterval leak in function custom (fx.js)
Hi,<div> I noticed a constant 50% CPU usage in one of my project about 2 weeks ago and looked into the issue.</div><div> </div><div><blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; "> <span class="Apple-style-span" style="color: rgb(34, 34, 34); font-family: 'Trebuchet MS'; font-size: 13px; line-height: 19px; ">jQuery.fx.prototype.custom
selector fails without notice in 1.3.1
The selector 'img[@src$=png]' failed with the latest version of jQuery (Sizzle). At first I thought this problem only occured in IE6, but that was just because it only got executed in the png alpha fix for IE6). I only found this problem after a long search, only to find a small message in the documentation that the @ is the culprit since it wasn't supported in 1.3.x. My main problem was that IE (both IE6 and IE7) reports a generic error instead of the error thrown by jQuery (the error you get is
Offset Bug in 1.3.1
Not sure if this is considered a bug, but it breaks some of my code... Passing any non-element into the offset method throws an error... I think it should instead return zero values... $( document ).offset(); // ERROR $( window ).offset(); // ERROR Here is a very simple proposed patch... http://dev.jquery.com/ticket/4136
$.ajax
my $.ajax request retriving earlier data. I am retriving data from aspx page passing sql query but it is not retriving latest data. but if I close the brouser and re-open the url it is showing latest data. function saveData(qry) { var dbcommand = "<data><dbname>"+dbname+"</dbname><dbquery>"+qry +"</ dbquery><maxrecs>"+n+"</maxrecs></data>"; if(verbose) alert(dbcommand); var o = $.ajax({ type: "GET", url: "http://localhost:1234/dbqex.aspx", data: "dbcmd="+dbcommand,
weird issue with id string I ran into
Here's a block of codes I got issue with while upgrading from 1.2.6 to 1.3 //this works in both 1.2.6 & 1.3// if (state==='on') { if (!$('#sr_ajax_loader').length) { var $sR = $('#search-result-container'); $('<div id="sr_ajax_loader" />') .css({ width: $sR.width() + 'px', height: $sR.height() + 'px', top: $sR.offset().top + 'px', left: $sR.offset().left + 'px', opacity:
Custom expression fails in 1.3.1
Custom expressions like the ones in jQMinMax fail with an error when used in the selector. (jQMinMax is found here: http://davecardwell.co.uk/javascript/jquery/plugins/jquery-minmax/) All browsers fail with an error that 'filter is not a function' in the line: return filter( elem, i, match, array ); Is the old method of adding a new expression as a string instead of a function not valid anymore or was this method wrong from the start? Old method: $.expr[':']['expression'] = expr; // this works in
And-Selector?
Is it possible to implement a and-selector with Sizzle? Say, something like this: $("#field1 & #field2").length would be either 0 or 2, but never 1. This would be extremely useful for the validation plugin to specify dependencies, where currently rather clunky callbacks have to be used. Jörn
1.3.1: error with custom attribute selection
Hi, since 1.3.1, firebug throws an error when doing a specific selector, that was working up to 1.3 Erreur : [Exception... "'Syntax error, unrecognized expression: sortby=""]' when calling method: [nsIDOMEventListener::handleEvent]" nsresult: "0x8057001e (NS_ERROR_XPC_JS_THREW_STRING)" location: "<unknown>" data: no] the selector is: var $thisLI = $('ul > li[sortby="' + UI.sortby + '"]'); the error happens only once, apparently when UI.sortby is an empty string. so the selector become $('ul > li[sortby=""]');
Clearup of Rhino and JQuery
I have included this as a seperate file load("env.js"); window.location = "testfile2.html"; window.onload = function() { load("jquery.js"); print("Newest A List Apart Posts:"); $("h3.ishinfo").each(function(){ print(" - " + this.textContent); }); called testscript.js ran it as java -jar js.jar testscript.js and all I get is Newest A List Apart Posts: could somebody point out anything that I would not cause the loop to iterate regards matthew
In UI/Dialog options "shadow: false" show error
Hi, I am using the jQuery UI 1.6rc2, when I use the following sample code I am able to drag my dialog box. <script> $(document).ready(function(){ $("#dialog").dialog({ resizable: false }); }); </script> Now, if I add the option "shadow: false" to hide the shadow of the dialog, the shadow disappears but when I try to drag the dialog I get an error message as "this.shadow is undefined". Please let me know if I am going wrong with the following code, or if it is a bug. <script> $(document).ready(function(){
`tag:not(tag.className)` selector fails in 1.3.1
I just posted this ticket (with test-case) into the bug tracker: http://dev.jquery.com/ticket/4104 For this HTML: Select me. This happens: $('p:not(.test)').length == 1; $('p:not(div.test)').length == 1; $('p').not('p.test').length == 1; $('p:not(p.test)').length == 0; // Fail! -- Már Örlygsson
Next Page