Solved

js function to check class

Posted on 2011-03-08
3
291 Views
Last Modified: 2012-05-11
Hi Experts

I have a js script which works well, that is until I have an object with 2 classes.

the script is created to re-style radio buttons, checkboxes and selects...  written by ryan fait.

The script will style accordingly any radio,checkbox or select it comes across with the class='styled'.

in that scenario, it works great, however, if  for example a radio button had

class='someClass styled'

the js will not register this, as it has 2 classes and the script is doing this:

var inputs = document.getElementsByTagName("input"), span = Array(), textnode, option, active;
            for(a = 0; a < inputs.length; a++) {
            
                  
                  if((inputs[a].type == "checkbox" || inputs[a].type == "radio") && inputs[a].className == "styled") {
                        

my class='someClass styled' is not matching because it is not = 'styled'

so I need it to do a pattern match like this hasClass function

function hasClass(ele,cls) {
      return ele.className.match(new RegExp('(\\s|^)'+cls+'(\\s|$)'));
}

trouble is when I run this

                  if((inputs[a].type == "checkbox" || inputs[a].type == "radio") && hasClass(inputs[a].className,"styled"))

I get an error jn firebug....

"ele.className is undefined"

I am not familiar enough with js to know why this won't work, any ideas?

            
0
Comment
Question by:cycledude
  • 2
3 Comments
 
LVL 8

Accepted Solution

by:
McNetic earned 500 total points
ID: 35069302
You already put inputs[a].className into your function hasClass, where you again try to get the member className of it. You have to remove className in one of the places.
0
 

Author Comment

by:cycledude
ID: 35069392
Oh boy, that was such an easy fix!

thank you for pointing that out, I cannot believe I missed it!
0
 

Author Closing Comment

by:cycledude
ID: 35069395
;)
0

Featured Post

Announcing the Most Valuable Experts of 2016

MVEs are more concerned with the satisfaction of those they help than with the considerable points they can earn. They are the types of people you feel privileged to call colleagues. Join us in honoring this amazing group of Experts.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Sort my list 5 391
HTML coding help 6 72
Close the previous detailed view, Child Rows, JQuery DataTables 3 137
Display value of dropdown list using javascript. 16 70
ConnectWise and their customers need to ensure critical alerts automatically reach the right person at the right time. MSP superheros efficiently respond to these alerts key is providing automatic, intelligent alerting that generates a complete audi…
In case you ever have to remove a faulty web part from a page , add the following to the end of the page url ?contents=1
A short tutorial showing how to set up an email signature in Outlook on the Web (previously known as OWA). For free email signatures designs, visit https://www.mail-signatures.com/articles/signature-templates/?sts=6651 If you want to manage em…

828 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question