动态编辑href属性

时间:2014-02-24 22:48:26

标签: javascript php jquery html ajax

我不在乎它是什么语言,但我希望这是自动完成的。 我的网站上有几个链接,无论如何链接到同一个地方。 例如,在index.php上,我有一个链接href =“index.php”的主页按钮 但是,当我现在处于downloads / download.php时,我需要手动调整位置为href =“../ index.php”

有没有办法动态地执行此操作?考虑到我在整个顶部导航栏中使用了include函数,它真的很混乱,我无法让它变得动态。 我实现这一目标的理想语言是: PHP> JavaScript = jQuery> AJAX

http://www.dioxidetech.com/

无论什么更有效率!谢谢!

3 个答案:

答案 0 :(得分:1)

使用相对URL: 而不是链接到../index.php,链接到:/ 其他链接也可以是相对的,例如:/downloads/download.php

顺便说一下。如果使用downloads subdir,为什么还没有index.php呢? 您不需要链接到索引文件,只需链接到包含文件夹的文件。

答案 1 :(得分:0)

使用URL而不是使用本地目录。因此,您可以将http://example.com/index.php作为所有这些的href属性。

您还可以使用超级全局$_SERVER来检索基本网址。

function getHomeURL() {
    return $_SERVER[ "HTTP_ORIGIN" ];
}

这样,您可以在需要放置href属性时调用该函数。

<a href="<?php echo getHomeURL(); ?>">Home</a>

我希望这有帮助。

<小时/> More on PHP Super globals

More on PHP $_SERVER super global

答案 2 :(得分:0)

另一种方法可以解决这个问题,但也许不是将所有东西整齐地放在一个地方的最直接的方法是通过开关()

你制作一个类似于这个的index.php文件:

<?php
include 'navbar.php';
$pagelink = $_GET['link'];
switch($pagelink)
{
    case 'home';
        $link = "home.php";
        break;
    case 'download';
        $link = "download/downloads.php";
        break;
    case 'about';
        $link = "about/about.php";
        break;
    case 'contact';
        $link = "contact/contact_us.php";
        break;
    case 'this';
        $link = "something/else/in/a/different/folder/this.php";
        break;
}
include $link;
include 'footer.php';
?>

然后,您所要做的就是制定所有类似的链接:

<a href="index.php?link=download" title="Downloads" target="_self">Downloads</a>

并且您永远不会离开您的索引页面,在索引页面中加载(包括)每个页面,无论它位于何处。