gpt4 book ai didi

php - 使用 jQuery 将 php 文件加载到 div 中不起作用

转载 作者:行者123 更新时间:2023-11-30 13:21:48 25 4
gpt4 key购买 nike

所以我的主要布局是这样的:

<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>

我在索引页的头部包含了这个 .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;
});
});

但它不起作用。

我对所有这一切都是陌生的,并且使用互联网上的各种资源将这段代码拼凑在一起,在自己尝试但无法弄清楚之后,我来寻求帮助。

网站的层次结构是这样的。

-/
-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 中的第一个条件statements 正在检查任何“div.link a”是否具有类“home”。因此,第一个 if 条件始终为真,并且您总是将/home.php 加载到#content 中。您要做的是检查点击的链接是否有类。

你应该使用 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"> ...

关于php - 使用 jQuery 将 php 文件加载到 div 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10021379/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com