OnClick函数不适用于href =“index.php?p =”

时间:2013-01-12 13:38:11

标签: php jquery onclick

我已经使用Jquery创建了一个函数,当我点击它时更改链接颜色...当我将链接链接到#(hash)时,代码工作得很好,但是我将它与php混合它将无法正常工作?

这是我的PHP工作得很好:

<?php
    $pages_dir = 'pages';
    if (!empty($_GET['p'])) {
        $pages = scandir($pages_dir, 0);
        unset($pages[0], $pages[1]);
        $p = $_GET['p'];
        if (in_array($p.'.inc.php', $pages)) {
            include($pages_dir.'/'.$p.'.inc.php');
        } else {
            echo '******.';
        }
    } else {
        include($pages_dir.'/hjem.inc.php');
    }
?>

我的HTML中的链接工作得很好:

href="index.php?p=*********"

但现在我想应用一种效果,使我的链接的背景颜色与i OnClick效果的颜色不同:

$(document).ready(function(){
        var $targetElement = $("*** This is to my links ***");
        $targetElement.click(function() {
            $targetElement.removeClass("changeColor")
            $(this).addClass("changeColor");
    });
});

还有一些css:

#****** ul li a:link.changeColor{
    background-color:black;
}

Jquery仅在我将链接转换为#时工作,我希望它能用我的php代码工作:)

2 个答案:

答案 0 :(得分:1)

如果你要进入一个新的页面,jquery不会被激活,因为从技术角度来说它会触发,但你被重定向到另一个页面,所以你不会看到结果。如果您想要更改重定向到的页面上的链接值,那么您需要使用javascript来获取传递的GET变量并在那里创建逻辑。或者您可以使用PHP来获取GET变量并回显出您想要的正确类。

答案 1 :(得分:1)

没有a:visited适合您的需求吗?

此外,请注意,要使其正常工作,您必须为链接设置不透明的背景颜色(reference