jQuery: Search string for content by class

Using jQuery, how can I search a string for content inside an element by class, without ever putting the content of the string into the DOM?

In the example below, there should be an alert that says: "Hello"


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Demo</title>

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js"></script>
<script type="text/javascript">

var str='<div class="abc">Hello</div><div class="xyz">World</div>';

alert( $(str).find('.abc').html() );  // Should alert Hello

</script>
</head>
<body>

</body>
</html>
LVL 16
hankknightAsked:
Who is Participating?
 
Lalit ChandraConnect With a Mentor Commented:
enclose your string with div like
var str='<div><div class="abc">Hello</div><div class="xyz">World</div></div>';

Now write the bellow code
$('.abc', str)

This will work.
0
 
Lalit ChandraCommented:
you can do it like

$('#findme', '<div><div id="findme">Hello</div></div>')

put your search string right of the selector string seperating from , (comma).
0
 
hankknightAuthor Commented:
Either I do not understand your idea or it does not work with my code:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Demo</title>

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js"></script>
<script type="text/javascript">

var str='<div class="abc">Hello</div><div class="xyz">World</div>';

alert( $('.abc', str).html() );  // Should alert Hello

</script>
</head>
<body>

</body>
</html>

Open in new window

0
 
leakim971Connect With a Mentor PluritechnicianCommented:
test page : http://jsfiddle.net/ZUBvP/

var str='<div class="abc">Hello</div><div class="xyz">World</div>';
alert($(".abc", $.parseXML( "<fake>" + str + "</fake>" )).text());  // Should alert Hello¿

Open in new window

0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.