使用 jQuery 将 PHP 函数的结果输出到特定的 HTML 位置

Outputting result of PHP function to specific HTML location with jQuery

我的index.php里有这个:

<?php
require_once '/myFunctions.php';

output_layoutHead();
output_layoutHeader();
output_layoutHome();
output_layoutFooter();

这4个函数基本上生成了我的HTML,看起来类似于:

<head>
    //Metatags, title, CSS links, etc.
</head>
<body>
    <div id="navbar">
        <ul class="nav">
            <li class="active"><a href="//call JS function">Home</a></li>
            <li><a href="//call JS function">Contact</a></li>
            <li><a href="//call JS function">Help</a></li>                    
        </ul>
    </div>

    <div class="container" id="contentContainer">
        <div id="content">
            Homepage content
        </div>
    </div>

    //JS script links, etc.
</body>

函数 output_layoutHome() 生成整个 #contentContainer。我还有其他页面的功能,称为 output_layoutContact()output_layoutHelp().

我基本上希望 output_layoutHome() 生成的内容在单击“联系人”或“帮助”按钮时完全消失,而是 output_layoutContact()output_layoutHelp() 等其他功能在其中输出内容地方。

我知道我可以用 $("#contentContainer").remove(); 删除整个 #contentContainer 但我不确定如何在它的位置输出另一个函数的结果。

我能得到一些指点吗?

您可以在 index.php 旁边创建第二个文件并将其命名为 contact.php 类似这样的名称:

<?php
require_once '/myFunctions.php';
output_layoutContact();

然后向联系人按钮添加一个 onclick 处理程序,类似这样:

$( "#content" ).remove();
$( "#contentContainer" ).load( "contact.php" );

您也可以在加载调用中指定布局标识符作为数据,然后通过index.php有条件地输出所有内容。