1

我用 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 代码一起工作:)

4

2 回答 2

1

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

于 2013-01-12T14:06:00.847 回答
1

a:visited符合您的需求?

另外,请注意,要使其正常工作,您必须在链接之前设置不透明的背景颜色(参考

于 2013-01-12T14:56:00.043 回答