我的页面名称是index.php,它包含一些链接(内部页面链接)和内容。点击链接我在链接"selected" class
上应用li
并显示相关内容,我的页面链接从index.php更改为index.php#c2(或#c3,#c4,c1为其他IDS)。
我的问题在于页面加载。如果我在其他页面中提供此链接,例如。在我page.php
<li><a href="index.php?#c2">link2</a></li>
我这样做了#c2
,那么我怎么知道"selected" class
基于此传递了URL我想将li
应用到$_SERVER
。我是<li class="selected"><a href="#c1">link1</a></li>
<li><a href="#c2">link2</a></li>
<li><a href="#c3">link3</a></li>
<li><a href="#c4">link4</a></li>
<div id="c1"><!-- contents of link1 --></div>
<div id="c2"><!-- contents of link2 --></div>
<div id="c3"><!-- contents of link3 --></div>
<div id="c4"><!-- contents of link4 --></div>
尝试过但未完成的。我无法在“?”之后得到字符串。
请告诉我是否有其他方法可以做到这一点..
$('.links a').click(function(){
$('.links a').parent().removeClass('selected');
$(this).parent().addClass('selected');
});
添加所选类的Jquery代码
{{1}}
提前致谢..
答案 0 :(得分:3)
你不能在PHP中这样做,只是因为它是一个客户机制,PHP在服务器上:) 您必须直接在JS中解析查询字符串。
尝试这样的事情:
$('a [href='+document.location.hash+']').parent().addClass('selected');
答案 1 :(得分:1)
我认为这会奏效...... 例如
example.com/page.html#anchor
example.com/page.html#anotheranchor
sol'n是......
if(window.location.hash) {
// Fragment exists
} else {
// Fragment doesn't exist
}
答案 2 :(得分:0)
您可以在服务器脚本或javaScript中使用regexp,而不是为每个元素定义clss。 只需使用下面给出的正则表达式模式,它将只为您提供URL中的链接部分。
^.*index.php/?(.*)$
要了解如何在JavaScript中使用RegExp Object,请点击链接。