2

I am facing a problem to get the class name from a string in JavaScript.

For example:

var ddd="<p class='Box_title'>Heading text here...</p>";

Now from that I want to get p tag's class name.

3
  • I think this is a similar post that could help you: stackoverflow.com/questions/789675/… Commented Sep 19, 2011 at 9:06
  • @GoRoS: That is about something totally different. Commented Sep 19, 2011 at 9:18
  • Ouh, ok, I've understood wrong the question Commented Sep 19, 2011 at 9:51

4 Answers 4

14

Browsers are good in HTML parsing:

//setup
var tmp = document.createElement('div');
tmp.innerHTML = ddd;

// get the class
var class_name = tmp.children[0].className;
Sign up to request clarification or add additional context in comments.

Comments

0
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> 
 <html>
   <head>
     <title>Ejemplo</title>
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
       <script type="text/javascript">
           $(document).ready(function() {
                var ddd="<p class='Box_title'>Heading text here...</p>";
                $('.container').append(ddd);
                alert($('.container').children(':first-child').attr("class"));
        });
       </script>
   </head>
   <body>
     <div class="container">
    </div>
   </body>
 </html>

Comments

-1
   var RegExp = /class='(.+)'/;
   var result = RegExp.exec("<p class='Box_title'>Heading text here...</p>");

this will return an array with class name as one of it's elements

1 Comment

seriously, why would you use regex for this when you've got an HTML parser right there ready to use?
-1
var d = "<p class='Box_title'>Heading text here...</p>";
var cls = d.match(/class\=\'(.*)\'/);
alert(cls[1]);

This regex will return your class name

1 Comment

the you are writing it wrong, I have tested it and its working, if you are using firebug, just paste my code into console and run it

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.