[英]using jQuery to load php files into a div not working
所以我有這樣的主要布局:
<div class="menu">
<?php include('/menu.php'); ?>
</div>
<div class="main" id="content">
<?php include('/home.php'); ?>
</div>
在menu.php
,我設置了 4 個 div:
<div class="link current">
<a href="#" class="home">
Home
</a>
</div>
<div class="link">
<a href="#" class="about">
About
</a>
</div>
<div class="link">
<a href="#" class="forums">
Forums
</a>
</div>
<div class="link">
<a href="#" class="contact">
Contact
</a>
</div>
我在索引頁的頭部包含了 this.js 文件
$(function () {
$('div.link a').click(function () {
$('div.link').removeClass('current');
$(this).closest('div.link').addClass('current');
if($('div.link a').hasClass('home')) {
$('#content').load('/home.php');
} else if($('div.link a').hasClass('about')) {
$('#content').load('/about.php');
} else if($('div.link a').hasClass('forums')) {
$('#content').load('/forums.php');
} else if($('div.link a').hasClass('contact')) {
$('#content').load('/contact.php');
} else return false;
});
});
但它不起作用。
我對所有這些都不熟悉,並且使用 inte.net 上的各種來源將這段代碼拼湊在一起,在自己嘗試但無法弄清楚之后,我來尋求幫助。
站點的層次結構就是這樣。
-/
-res/
-css/
-default.css
-imgs/
-scripts/
-jquery.js
-load.js (this is the one shown above)
-index.php
-menu.php
-home.php
-about.php
-forums.php
-contact.php
如果有人可以提供幫助,將不勝感激。
if
語句中的第一個條件是檢查是否有任何“div.link a”具有 class“home”。 因此,第一個 if 條件始終為真,並且您始終將 /home.php 加載到#content 中。 您要做的是檢查單擊的鏈接是否具有 class。
你應該使用if($(this).hasClass('home')) {
...
另外,如果您想稍微清理一下,我建議:
$('div.link a').click(function () {
$('div.link').removeClass('current');
$(this).closest('div.link').addClass('current');
$('#content').load('/' + $(this).attr('class') + '.php');
});
這樣您就不必維護if
語句。 但是,如果您最終向這些鏈接添加更多類,這將會中斷。 也許使用data-*
屬性? <a href="#" data-load="contact">
...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.