Reputation: 3755
First of all I want everyone to know that I am absolute beginner so please be patient with me.
I want to know how am I going to put the entire html page in a div. I tried $("#footballPlayers").html("footballplayers.html");
but it displays footballplayers.html
text instead of the whole page.
<html>
<head>
<script type="text/javascript" src="jquery1.6.4min.js"></script>
<script type="text/javascript">
$(function(){
$("div#tabFootballPlayers").click(function(){
$("#footballPlayers").html("footballplayers.html");
$("#actionStars").html("");
$("#directors").html("");
});
});
$(function(){
$("div#tabActionStars").click(function(){
$("#actionStars").html("actionstars.html");
$("#footballPlayers").html("");
$("#directors").html("");
});
});
$(function(){
$("div#tabDirectors").click(function(){
$("#directors").html("directors.html");
$("#actionStars").html("");
$("#footballPlayers").html("");
});
});
</script>
<link rel="stylesheet" type="text/css" href="stylesheet.css">
</head>
<body>
<div>
<div id="tabFootballPlayers">Football Players</div>
<div id="footballPlayers"> </div>
<div id="tabActionStars">Action Stars</div>
<div id="actionStars"> </div>
<div id="tabDirectors">Directors</div>
<div id="directors"> </div>
</div>
</body>
</html>
Upvotes: 7
Views: 29183
Reputation: 298462
You use the .load()
function:
$("#footballPlayers").load('footballplayers.html body');
Notice the selector after the URL. You can select elements from that page. I think you need the body
, as having nested <html>
tags could end badly.
A few more comments about your code:
You don't use this function more than once. Just shove all of your code into it:
$(function() {
// All of your code here.
});
I prefer this syntax, as it looks more functional and shows you what it does:
$(document).ready(function() {
// All of your code here.
});
Also, your code is really redundant. Try condensing it:
$(document).ready(function() {
$("#your_menu_container div").click(function() {
$(this).load(this.id.substr(3).toLowerCase() + '.html').siblings().html('');
});
});
Upvotes: 9
Reputation: 30993
using your code you fill the html code with a constant string "footballplayer.html".
You can use the load method, here is an example:
$('#footballPlayers').load('footballplayers.html');
it get via AJAX the page you request and fill the element.
Upvotes: 2
Reputation: 3137
use load
jQuery("#footballPlayers").load("footballplayers.html");
for more details click here
Upvotes: 9
Reputation: 227310
You need to actually load the contents of footballplayers.html
using AJAX, and then put that in the div.
Try this:
$("#footballPlayers").load("footballplayers.html");
.load
uses AJAX to get the page, then loads it into the div.
Upvotes: 2
Reputation: 38147
replace
$("#directors").html("directors.html");
with
$("#directors").load("directors.html");
the html file that you load should only contain the contents of the DIV - ie not the <head>
the <body>
or even the navigation - just the content
Upvotes: 7
Reputation: 46067
You can use load
for this:
$("#div1").load("myhtmlpage.htm");
Upvotes: 6