Solved

js function to check class

Posted on 2011-03-08
3
294 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

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

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

What if you have to shut down the entire Citrix infrastructure for hardware maintenance, software upgrades or "the unknown"? I developed this plan for "the unknown" and hope that it helps you as well. This article explains how to properly shut down …
A couple of months ago we ran into an issue that necessitated re-creating our Edge Subscriptions. However, when we attempted to execute the command: New-EdgeSubscription -filename C:\NewEdgeSub_01.xml we received an error indicating that the LDAP se…
In this video, viewers are given an introduction to using the Windows 10 Snipping Tool, how to quickly locate it when it's needed and also how make it always available with a single click of a mouse button, by pinning it to the Desktop Task Bar. Int…
In this video we outline the Physical Segments view of NetCrunch network monitor. By following this brief how-to video, you will be able to learn how NetCrunch visualizes your network, how granular is the information collected, as well as where to f…

717 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