Note that there are some explanatory texts on larger screens.

plurals
  1. POIs there any way to optimise this code?
    primarykey
    data
    text
    <p>I have a piece of code which will invert all the checkboxes on my form. I have multiple elements (not just checkboxes but also <code>&lt;input type='text'&gt;</code>'s) in it. The reason I need it to be optimised is because it takes about two to three seconds to select all the checkboxes (275 right now).</p> <p>Here's my code:</p> <pre><code>function FormInverse() { var iCheckbox = 1; // Because there are multiple input elements, we need to distinquish the input element ID and the row id var FormLength = document.FormFacturen.elements.length; for (i=0; i &lt; FormLength; i++) { var FormElementType = document.FormFacturen.elements[i].type; if (FormElementType == "checkbox") { var Elements = document.getElementsByClassName('row' + iCheckbox); // Alle elementen in de array zetten var iNumElements = Elements.length; for (iElement=0; iElement &lt; iNumElements; iElement++) { if (document.FormFacturen[i].checked == true) { Elements[iElement].className = "invoice-tr-standard row" + iCheckbox; } else { Elements[iElement].className = "invoice-tr-clicked row" + iCheckbox; } } iCheckbox++; document.FormFacturen[i].checked = !document.FormFacturen[i].checked; } } } </code></pre> <p>And here is the <code>document.getElementsByClassName</code> function:</p> <pre><code>document.getElementsByClassName = function(cl) { var retnode = []; var myclass = new RegExp('\\b'+cl+'\\b'); var elem = document.getElementsByTagName('*'); for (var i = 0; i &lt; elem.length; i++) { var classes = elem[i].className; if (myclass.test(classes)) retnode.push(elem[i]); } return retnode; }; </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload