JQuery :: Selecting Elements By Name In Extremely Slow?
Oct 23, 2010
I'm having trouble using jQuery to find get select box values by element name. At the moment the code is in a for loop and it gets 8 different form values and puts it into an array. Currently this takes 1.5 seconds to execute which is far too slow as the user has to wait for it to finish. Here's the code which is inside the loop:
[Code]...
This when run executes instantly with no time delay. Why is the jQuery way so much slower? I'm all for saving 2 lines of code but not when it's 10x slower. Also I shouldn't need to put an id on the select box element to make finding it faster, the name value is already unique because I require the specific value once the form has been submitted.
We have a corporate product which uses ajax and different layers of soa , java etc across all browsers and multiple platforms But the observation is - IE8 is extremely slow when working with ajax framework. THe browser processing time increases exponentially with increasing js file size. Works fine in non IE browsers.
Hereyou can find the whole example. By clicking onClick to Addyou will clone 100 times the elementtrackOn; then it will be append to the tabletracklistOn. Unfortunatly, if these elements are inside aformyou can see that the time is very high before the process is finish.If I remove the form, is quite immediate. Why this behaviour? How can I fix this problem? P.S. I don't know why, but I can't paste the whole code here. So follow the jsFiddle link please :)
I have the following code that works fine (except the show/hide animation for the rows is proving to be a pain to get working):
In the table this is for, I have a checkbox in the first cell in the row the user hovers and clicks on to expand the following row. I am trying to make it so that clicking the checkbox doesn't trigger the jQuery toggling action.
Here is a sample row in the table this is for. The complete row below is what the user clicks on, and the row after that (class="docClassesRow") is what is expanded on clicking the above row
I tried adding :not(:first-child) to the selector:
'When my form is submitted, I have onsubmit pointed to the following code snippet. But, the button is not actually set to disabled and the style.visibility changes are not made for several seconds. It appears that it goes into validateForm and doing the rest of this snippet before the browser makes the changes.
How can I get the browser to immediately make the UI change?
function submitForm(servleturl) { var submitbuttonelem = document.getElementById("submit"); submitbuttonelem.disabled = true; document.getElementById("modgradeform").style.visibility="hidden"; var mydiv = document.getElementById("contentarea"); mydiv.innerHTML = "Validating the form."; mydiv.style.visibility="visible"; var ret = validateForm();
i'm trying to do the following: select the links one after another and add a class to them. When the next one is selected i want to remove the class from the previous.
Selecting elements using multiple parameters like here: $('descendant', 'ancestor').text(); seems to be way more popular than css-like syntax: $('ancestor descendant').text(); Do those two differ in performance, or is it just about being intuitive to particular people?
im experiencing a problem when using the :nth-child() selector.
I currently have a div that contains multiple divs. These divs have either the class 'labels' or 'labels-alt', I currently use the following code to change add/remove a class to one of these
function mOver1(n) { $('.labels:nth-child('+n+')').toggleClass("labels-hover"); } function mOut1(n) {
Previously when developing my own modal windows I have been creating a "mask" div directly in my markup, in the CSS setting it to be display:none and then setting it to show() by jQuery when a button is clicked.
I'm sure there is a better way to do this but i'm getting a little stuck.
I tried adding the "mask" div and its content to the body using prepend() when my button is clicked but i found i then can't select any of the added elements in jQuery.
How can you select elements you have added to a page by jQuery?? Also if this is the right approach whats the best way to insert a block of html to a page??
$(document).ready( function() { ... // #1 some code that fetches xml and generates a dom structure... <ol id='bla'><li></li></ol> then .appendTo('#foo'); ... // #2 some code that generates another dom structure to be inserted into $('#bla'). } )
The snippet #1 fetches xml and generates a dom to be appended to $('#foo'). But snippet #2 refuses to work with the id's created by the steps in #1. My guess is it is because #2 ran before #1 finished.
How do I make it so that #2 can reference the id's created by #1? Do I make #1 syncrhonous? Is there a way to make #2 run only after #1 is done? Do I just include onclick to the elements created by #1 -- I was hoping to avoid this because it appears the jQuery collective frowns on this.
I am creating an FAQ type page with rows of questions that will drop down the respective answer when clicked. I have it mostly working, except I can't find a way to close all answers before opening the next one. I have tried everything I can think of (or search), but to no avail. I am using the following code, where QQQ1/2 are the questions, and AAA1/2 are the answer divs:
//Question/Answer $(".QQQ1,.QQQ2").click(function () { // check the visibility of the next element in the DOM if ($(this).next().is(":hidden")) {
Im working on some drag and drop logic similar to the jQuery shopping cart example, but I've run into a small hitch. If I double click on the LI within my 'dropped' area it causes them to become draggable again. I specifically set up drag to only work from one source list, so Im unsure how double clicking is causing this bug?
is there a way to select elements that match a regular expression? I have a set of divs with id = "wrap_n" where n is a progressive and I need to select them and for each 1 I have to add a function that togggle the "elem_n" div.
I'm trying to add the text of a textarea form to the string that's contained at: myarray[a][b][c] It was easy to pull out the value of the textarea with this: textinput = $('#mytextarea').val(); But then when I try to add the variable into the array, it doesn't work. I'm not able (apparently) to do this. Fingers crossed that I'm doing something dumb?
This doesn't work: myarray[a][b][c] += newstringvariable; Nor this: myarray[a][b][c] = myarray[a][b][c] + textinput; I'm guessing there is a very simple (probably syntax related!) solution to this. I'm open to doing this via jQuery or regular javascript.
just a very basic question. Have a div (id - photos) with multiple images. 1) Does this select them all? $('#photos img') 2)If so, how can i capture this information? Like so -> var bunchOfStuff = ($('#photos img')); and 3) if so, why can't i do something like alert(bunchOfStuff.length)into code tags...
Now what do I write in this iteration loop to first get the text from the FIRST name and age box, in the first <table> (so I can work with tem). And in the next iteration loop get the SECOND <table>īs input fields text values?
Working on creating my own plugin and realized that I would very likely end up doing this again in the future. Unfortunately, I have an extremely short memory when writing code. I frequently have to re-read the code I've created the day prior so I can get back on track with what I was doing. As such, I'm a fervent commenter in my code.
So, I'm creating a jQuery plugin framework with comments for everything that's going on in the framework to prevent my brain from having to re-learn everything in a month or so when I do another one.
Plugin-savvy folks to take a look at this code and help me fill in the blanks and make corrections to those places where I'm way off base. As you'll likely notice rather quickly, this is taken from the jQuery plugin tooltip construct found here: [url]
Trying to build a dynamic part on my form by using a checkbox and <span>. Found a script that does exactly what i want, but uses a 'radio' in the script instead of a checkbox. And at that spot i need to be able to make multiple selections, so i need checkboxes.. In this specific case it's about geslacht='v' checkbox
My problems are:
1. My span doesn't start off at invisible 2. My function match_personalia_geslacht() works with a onChange, not with a onSelect.
Don't know how to get the same result with a checkbox.. So if someone can help me, i would be a happy man.
Somewhere, embedded in some script, there is an extra > character. The result is an annoying mistake on my website. You can see the unwanted character at the bottom of the 'architecture' section at I'm not sure where to look to get rid of it.
The standard Number.toString() method returns values in scientific notation once they exceed 10^20. In many cases, this is not an expected or desired result.
The toLongString() method provides a solution by always returning a literal numeric value regardless of the number's size. However, the value returned will not be accurate beyond the first [log base (radix) of (10^15)] digits.
radix: Optional. A number between 2 and 36, inclusive.Number.prototype.toLongString = function(){ var radix, n = this, d, t = '', p = '' if(arguments.length>0 && typeof(arguments[0])=='number'){ radix = Math.round(arguments[0]); if(radix<2) radix = 2; if(radix>36) radix = 36; } else { radix = 10; } if(n < 0){ n *= -1; p = '-' } while(n > radix){ d = n % radix; n = (n-d)/radix; t = d.toString(radix) + t; } return p + n.toString(radix) + t; }
I have a problem with the jQuery.ajax() function combined with a keyup event (i think key events in general). I'm binding an keyup event to an input field so that on every change the current input is send via the ajax function and receives new data from the server, displaying it in a selectbox.
when I'm typing very fast it seems that the ajax function is too slow for this and shows up old result elements. After triggering the event another time, e.g. via UP,DOWN,.. it receives and displays the correct data.
I have following code to have a scroll animation effect. The cod eis triggered e.g. by a click.[code]...
The problem is, that the browser (tested in FF, Chrome, IE9) just jumps to the scroll target, no effect is viewable. I googled the code in different places, everybody else seems to have no probs with it.
Please the link to see what I have done so far...[URL]... It is a day planner, where various places can be dragged on to the day planner. It works, but it seems very slow. Running firebug profile when dragging a simle place into a single slot tells me that over 35,000 calls were made.