jquery append html immediately after opening <p> tag

How does one append / place new html directly inside the first found element.

For example, I have text wrapped in <p> tags i.e.
<p>This is my text</p>

How do I add <span id="firstThing">This must be first inside the p tag</span> inside the <p> to create this:
<p><span id="firstThing">FIRST</span>This is my text</p>

Thanks
LVL 4
kent3800Asked:
Who is Participating?
 
dirknibleckConnect With a Mentor Commented:
$('<span id="firstThing">This must be inside the p tag</span>').prependTo('p:first');
0
 
kent3800Author Commented:
thanks
0
 
kent3800Author Commented:
Actually. Now that I've tested this a little bit. This doesn't work. The selector you are using doesn't select anything. Any other ideas?
0
 
dirknibleckCommented:
Sorry, I missed the $() enclosure:


$('<span id="firstThing">This must be inside the p tag</span>').prependTo($('p:first'));

This works in the below code...
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
	<head>
		<title></title>
		<script type="text/javascript" src="includes/jquery/jquery-1.4.js"></script>
		<script type="text/javascript">
			$(document).ready(function(){
				alert($("p:first").text());
				
				$('<span id="firstThing">This must be inside the p tag</span>').prependTo($('p:first'));
			});
		</script>
	</head>
	<body>
	<p>first paragraph</p>
	<p>second paragraph</p>
	</body>
</html>

Open in new window

0
All Courses

From novice to tech pro — start learning today.