Very slow performance in 1.3.1 when inserting large HTML fragment
Hi folks, I have a large HTML fragment that I load via AJAX. The fragment is big (~660KB), and it takes over 2s (more like 2.7s) to insert it. I've profiled the code, and it turns out that most of the time is spent in the .trim() function. It is being called from .clean() (around line 835): // Trim whitespace, otherwise indexOf won't work as expected var tags = jQuery.trim( elem ).toLowerCase(); Is this something that can be fixed? Dimi.
append(), deep cloning and 1.3.1
Hi all, Someone posted this problem at the jquery-en group: http://groups.google.com/group/jquery-en/browse_thread/thread/ecc1dc86bc46b528 In jQuery 1.2.6, appending to multiple elements deep clones the appended element, copying it's event handlers. In 1.3.1 this only happens on IE, in other browsers the event handlers are not kept, It seems like deep cloning is not happening. Is this intended/documented or a bug? Test case: http://jquery.nodnod.net/cases/71 - ricardo
general RegExp optimizations
I did have a quick look through the code and see that most of the (small) regular expressions are not cached and referenced but defined in-line in the conditionals/replacements. For example these are repeatedly used in various place: /\s+/ /\\/g /\?/ I believe there are improvements in both speed and readability of code by caching them compiled. Is there some reason I don't know in not defining some constants like TRIM, SQUEEZE, ESCAPE etc... ? Diego
HTML 5 support in jQuery
Are there plans to add support to jQuery for HTML 5 components such as the video element? I'm trying to access video elements using jQuery 1.3.1 with Firefox 3.1 beta 2, but at the moment $("myVideoElement") returns an Object, not an HTMLVideoElement, so can't be used to access video properties. (Apologies if this has been answered elsewhere. I took a look but can't find anything.) Sam Dutton
border-radius support in jQuery
Both Mozilla and WebKit have built support for border radius (meaning now only IE and Opera should be left without this kind of feature): Mozilla with -moz-border-radius and -moz-border-radius-topleft WebKit with -webkit-border-radius and -webkit-border-top-left-radius As well there is a w3 working draft standardizing border-radius and border-top-left-radius. http://www.w3.org/TR/css3-background/#the-border-radius I'm considering writing a patch to jQuery (that can be committed into trunk) to enable
As of jQuery 1.3.1 and UI 1.6rc6, triggered mousedown event on draggables throws an error
Last night I upgraded from jQuery 1.2.6 and UI 1.5.3 to jQuery 1.3.1 and UI 1.6rc6 without too many problems at all (which is fantastic!). The only problem I've found is when firing a mousedown event on an element that has draggable (or potentially, any mousedown) behaviour attached. This now throws an error on the following line of $.ui.mouse._mouseDown, due to 'originalEvent' not being present: if (event.originalEvent.mouseHandled) { return; } Here's a cut-down test harness which illustrates the
Another input method to .css? A note on .animate and things like borderWidth borderColor
I don't know if anyone thought of it, but how about adding another method of calling .css? In my own framework I allow a call such as: pf('#foo').css(['backgroundColor', 'color', 'borderLeftColor']); And the call will output an object with that information (keys as the style keys, and the values of those are the current css values. It's actually fairly useful, as you can use it to generate an object containing current css information, then use that to revert styles back after you've changed something.
Filter by descendent
I'm trying to solve the follow selector problem: Assuming two container elements that both have arbitrary descendents. Given a jQuery object containing these containers and one descendent of any of these, whats the most effecient way to find the correct parent element? Neither parents() nor closest() helps, as there is no sufficient simple selector available. In other words, I want to filter a selection by a descendent. My naiive implementation goes through all descendents, which isn't really acceptable:
jquery not working in mozilla
i was trying to use this code <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <script src="http://code.jquery.com/jquery-latest.js"></script> <script> jQuery.each(jQuery.browser, function(i, val) { if(i=="mozilla" ) alert("Do stuff for firefox 3") }); </script> <style> p { color:green; font-weight:bolder; margin:3px 0 0 10px; } div { color:blue; margin-left:20px; font-size:14px; } span { color:red; } </style> </head> <body> Browser
Layout of a loaded doesn't look the same????
Hi all, I use this code to load a page, $("#showContent").click(function() { $("#content").css("overflow-y", "scroll"); $("#content").load("showContent.php"); }); But now showContent.php doesn't look the same it seem to have an added row height??? Anyone else encountered this problem? Any solutions, tips?
Seems like a bug
I made a simple test: <script type="text/javascript"> var html = '<div id="x" onclick="alert('.')">123</div>'; $('#test').html(html); // or $(html).appendTo('#test'); var x = $('#x')[0]; alert(typeof x.onclick); $('#test').empty(); </script> Results: MSIE 6.0.2900.2180.xpsp_sp2_rtm.040803-2158 and all _normal_ browsers function MSIE 6.0.2900.5503.xpsp_sp3_qfe.080423-1303 string! It means that this code: $('#test').html(html).find('#x').click(); In throws an error in IE 6 on windows XP with sp3. should
Performance suggestion: Use object hash instead of regexp
(Originally posted on jquery-en group. Reposted here on jquery-dev following Karl Swedberg's suggestion) I notice that jQuery uses some regexp statements like this one for very simple matches... (used in the position() and offsetParent() methods for example) .../^body|html$/i.test(offsetParent.tagName) Might it be faster to use a simple object hash like this instead...? var test = {BODY:true, HTML:true}; ...test[offsetParent.tagName]; I did some crude experiments and found that the hash technique
IE: val() is null or not an object - document not ready?
Hi, I'm quite new to jQuery development and bug reporting/tracking/fixing, so I hope I'm posting this in the right place. I added the following script in the head of my page: $(document).ready(function() { $('#edit-keys').val($('#edit-keys').val().replace(' type:product,'')); }); It is supposed to strip the string " type:product" from the value of an input field. It works fine in firefox and IE6, but not in IE8 rc1 (both in IE7 and IE8 mode). The error message was "val() is null or not an object".
problem whit ie
Good morning have a problem getting information. IE don`t add the information to the specified class but the only pressure on the current login. Registration, when in operation. All other browsers gives excellent http://www.webmasters.dc-unlocker.com/
Another parameter to $(...).closest('...');?
I have a function similar to the .closest method in jQuery inside of my framework. I was wondering if it was a good idea to have .closest accept am optional second argument (restriction) to it like my own. In my framework I use pf.trace (tracing backwards through the dom) almost precisely the same as .closest; pf('#foo').click(function(e) { var elm = pf.trace(e.target, 'li', this); if(!elm) return; ... }); The third argument is a restriction. You can basically read that as "trace backwards through
Difficulties debugging event handlers applied by CSS selectors
Hi everyone, I've got a fairly deep issue with jQuery and I'm struggling to find a good way of resolving it. In short, it comes down to the use of CSS selectors for applying event handlers. CSS selectors are a really powerful way of selecting a number of HTML elements to apply an event handler to, but they can be difficult to debug, because they are implicit. This means that if you have a button / link / whatever, it's difficult to find the code that is triggered by an event, such as a onclick handler.
Issues with setting checkboxes in jQuery 1.3.1
Hi, I have found some issues in how jQuery 1.3.1 handles checkboxes in XHTML. I created the following PHP sample based on jQuery FAQ 1.7: ------------ <?php header('Content-type: application/xhtml+xml'); print '<?xml version="1.0" encoding="iso-8859-1"?>' . "\n"; ?> <!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"> <head> <title>Checkbox test</title> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js">
Patch: Do not load jQuery if already loaded
Hi, I have a mashup website and can not control whether other modules pre- load jQuery on a page. To solve this problem I encapsulated it with a condition as shown in the diff below. This may be useful to someone, or if you know of a better maintainable method, please let me know. Regards Jaco Vosloo Index: jquery-1.2.6.js =================================================================== --- jquery-1.2.6.js (revision 2751) +++ jquery-1.2.6.js (working copy) @@ -1,3 +1,5 @@ +//Only load jQuery
the ready not working properly in Opera, safari and chrome
<html> <head> <style> .hmmessage P { margin:0px; padding:0px } body.hmmessage { font-size: 10pt; font-family:Verdana } </style> </head> <body class='hmmessage'> <style>.ExternalClass .EC_hmmessage P {padding:0px;} .ExternalClass body.EC_hmmessage {font-size:10pt;font-family:Verdana;} </style> Hello. I discovered some time ago that in browsers based on WebKit, the ready not working properly. Looking into the code of jQuery 1.3.1 in binready I noticed it was missing the code. Because it tests only
Packer vs YUI Compressor
Hi! It's just interesting: is there any reason (except of convenience) to use YUI instead of /packer/ ? Packer 3.1 jQuery 54 865 gripped 20,91 Kb (21 408 bytes) ==================== YUI 2.4.2 jQuery 55 272 gripped 21,47 Kb (21 985 bytes)
some selectors with meta-characters fail
Firstly,I admit that I would be so crazy. I tested ALL the special characters on my keyboard which are ~`!@#$%^&* ()_+-=[]\{}|;':"/.,?>< I removed < and " because they will break the page. And I know w3c says "ID and NAME tokens must begin with a letter ([A- Za-z]) and may be followed by any number of letters, digits ([0-9]), hyphens ("-"), underscores ("_"), colons (":"), and periods (".").". ( http://www.w3.org/TR/html4/types.html#h-6.2 ) I did this just because I am so curious about whether jQuery
IE6 feature detection - possible solution
In order to transition away from $.browser to $.support, people are going to want/need something to help identify IE6. After a bit of research, I found one property that seems to work: elem.style.maxHeight. IE6 returns undefined. I'm adding a patch to support.js - please let me know if you think this would work. I tested in IE6 & 7, Firefox 2 & 3, Opera 9.5 & 9.6 and Safari 3. Usage: if (!$.support.maxHeight) { // do ie6 stuff } http://dev.jquery.com/ticket/3960 Thoughts?
Large performance improvments (x100/x1000) with very large HTML chunks
Folks, "The only good .trim() is a dead .trim()" jQuery core uses .trim() in two places only. And it doesn't need to. If we get rid of it we get really large performance improvements (as high as x1000 for really large HTML chunks, say around 1MB). More details + patches here: http://dev.jquery.com/ticket/4036 http://dev.jquery.com/ticket/4037 Can we get these in 1.3.2? :) -- Dimi Paun <dimi@lattica.com> Lattica, Inc.
obj.hide() hangs webkit based browsers in some circumstances
Hi all,<div> </div><div>while working on a project, I have a following situation. There is a page that has about 1000 images on it. Divs which hold images have few classes that I use as filter for showing/hiding only images that belong to specific category.</div> <div> </div><div>Following piece of code does the actual show/hide job (by specified criteria):</div><div> </div><div><div>function show_elems(filt)</div><div>{</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>var all
Suggestion.
I have been having to rewrite functions as append, html, before, and so on. with a function callback. And my suggestion is that give the html manipulation functions a callback option. why? I have found it easier to bind events this way. Mainly because the browser waits for the dom injection and THEN do the event binding. I have tried live. but that only works if you have data injected before you start. Others hacks that work is animating things that isnt there for 100ms and then do the event binding
live() slowing down DOM access after each firing
I have just gone through a problem in code that seems related to live (). A coworker has just shifted from bind() to live() in a page where many UL / LI / A (probably a hundred of them). The anchors are just internal page jumps, there are counters for each click on them. The user have to follow a specific path through them and get a score. The event types for which he did the change are only "mouseover" and "mouseout", also he will need to do the same for "click"s, he just stopped when he saw that
Why no filter for text areas?
Hello. I was doing some form validation today and I noticed that there's no filter for text areas. The :input filter includes it but :text excludes it and it doesn't have a filter of it's own. Personally I think that :text should include text areas and barring that, there should be a filter for text areas just like for all the other big form input categories. Kindly, Marcus.
Robust pattern for DOM manipulation
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> </head> <body bgcolor="#ffffff" text="#000000"> What is the accepted method of dom manipulation in jQuery (creating and inserting new dom nodes). I can't seam to find a reasonably intuitive method of doing this using jQuery internals. A good example. Given a jQuery object which contains a ul tag. How would one insert a new li tag, and then insert some user specified <b>TEXT</b>. With emphasis on it being text, for the li,
Selector :enabled no longer finds hidden elements
In a normal form POST, a form element with <item type="hidden"> will send those hidden elements as request variables alongside visible enabled variables. In jQuery 1.3.1, filtering on $(":enabled", myForm) will only find VISIBLE enabled elements, which is changed since jQuery 1.2.6. I don't believe this change is correct. Is there an explanation for this change? Can we revert it to the earlier behavior, or is there a good alternative? Thanks for your time, Jacob
Syntax error, unrecognized expression: ^
I run this command $("^.WasPrice") which suppose to find the class that starts with WasPrice. The actual class name is "WasPrice PriceM". My issue is being to select a class with a space. I can't figure out how to escape a space character to select such classes. So I decided to use the "^" which selects anything that starts with the characters that follow. This seems to work fine on some pages but fails with a syntax error on others. Any ideas and help would be greatly appreciated. Thanks, Roy
Patch: Prevent from loading more than once
Hi, We're using jQuery with GWT and, long story short, here's what happens: A third-party GWT module (let's call it "chicken") includes jQuery and makes some additions to the jQuery object. Along comes another GWT module (let's call it "tuna") that also includes jQuery and, without the ability to control the order in which both modules are loaded, the contents of jquery.js is included/executed twice during page load, resulting in the loss of the additions made by the "chicken" module. In other words,
Bug ? - jQuery 1.3 change my layout just after being loaded under IE 6
Hello everyone, My web site uses a so-called "sticky footer" layout. It worked perfectly until I had replaced jQuery 1.2.1 by jQuery 1.3.1. The simple fact to load jQuery 1.3.1, without any other script in my page, is enough to cause a display bug under IE 6. Everything is okay under Firefox 3. I attached a test case to this email: - testcase.html contains the complete test case; - screenshot_firefox.png shows the expected behaviour under Firefox: the container fills the available height and the
IE Bug: clone( true )
I first came upon this error much earlier this year. You can see the discussion that followed here: http://groups.google.com/group/jquery-dev/browse_thread/thread/de539e8d7590c7d3/db2c217030b68314?#db2c217030b68314 Using an example a member posted in that thread I have made a simple example of the error which can be viewed here: http://kitchen.net-perspective.com/ie-clone-bug.html The error message is: 'nodeType' is null or not an object It occurs in both IE6 and IE7. Commenting out the IE specific
.ajax success / .post callback not triggering properly in IE or Opera
I'm having an issue with .ajax and .post and their callbacks. I have the following function: $.post("upload.php", {file:testdata}, function() { $("#results").html("done!"); }); testdata is a 128k string that gets posted to the server, however, in IE and in Opera, the success/callback is triggered as soon as that the post is hit, not after it completes. In FF, this works flawlessly, according to firebug the post takes around 2.2s to complete, and the success/callback triggers properly once the post
jQuery.fn.load
Hi, jQuery.fn.load lets the complete function be called. jQuery.get lets the function success be called. Why does jQuery.fn.load not the same as jQuery.get? Thanks.
should I use my cross domain hack for providing web service?
Hello, I provide a web service. I've hacked out a way using jquery and dynamic script loading that enables people to embed the service directly into their web pages. Basically my web service responds with content type javascript and sends the html as a javascript variable. An analogy of the web service is a guestbook and my users can now plonk the guestbook directly into their web page. However before releasing it for people to try out I want to find out if I'm asking for trouble? Is this a common
Possible Selector Bug?
Hello Everyone, I was just using jQuery 1.3.1 when I came across an issue in IE7. When I click the button the value for the button will be set to "ON" when using IE7 but it works as expected in FF3: Expected result: Value on hidden field should be set to "ON" when the button is clicked Wrong result: The value for the button changed to "ON" when the button is clicked in IE7 Sample Code: <form> <input type="hidden" name="button" value="" /> <input type="button" id="button" value = "Button"
Due to Issue #2509 I had to stop using v1.3.1 and rollback to v1.2.6
I am a web developer working on a website for a large financial institution. I REALLY love using jQuery. Because of what appears to be unresolved issues w Issue #2509, I stopped using jQuery v1.3.1 and have returned to using v1.2.6. The details are that the $(document).ready(function(){ ... }); in jQuery v1.3.1 was not firing when the user clicked on the Refresh button or did an F5 to refresh. The browser was IE 6 & 7 running on WinXP Pro SP2. Please note that I did not see this behavior when using
YASS
Hi everyone! Did you seen this tests? It's just amazing! espesially in IE. Maybe it's a good idea to cooperate Sizzle and YACC developers? http://yass.webo.in/en/slickspeed/?Dojo_Toolkit_1-2-0/Peppy_0-1-2/DOMAssistant_2-7-4/YUI_2-6-0/MochiKit_1-4/MooTools_1-2-1/Sizzle_11-12-08/Sizzle_21-10-08/yass_0-1-6/yass_0-2-4
bug #3104 setting value on select
http://dev.jquery.com/ticket/3104 Seeing as last activity was around 4 months ago, is this still being worked on? I was thinking about working on a patch, but was unsure if someone had decided to leave the behavior as it currently is. -- dz
Next Page