Solved

js function to check class

Posted on 2011-03-08
3
293 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 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

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
form submit not working 9 166
Jquery animation problem 7 58
How to I run a script after infinite scroll loads? 2 98
javascript to enforce password complexity 10 154
This article describes how to import an Outlook PST file to Office 365 using a third party product to avoid Microsoft's Azure command line tool, saving you time.
The goal of this blog is: - To define the incident management process - To go over the key elements of an incident management system - To look into incident alert management tools that integrate with ConnectWise.
Suggested Courses

739 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