Javascript 如何基于querystring设置活动链接
我需要使活跃的链接指向用户正在查看的页面的URL。这不是问题,问题在于URL中的查询字符串;我尝试了不同的解决方案,查看相关的答案,唯一发生的事情是,链接只有在我点击它时才会得到颜色,然后立即返回到与之前相同的颜色 我正在处理prestashop,这个菜单是一个安装好的模块,如果不是为了这个小问题,它工作得很好 下面是HTML(里面有javascript)。模块被发送到一个XML文件,以便smarty获取和编译:Javascript 如何基于querystring设置活动链接,javascript,jquery,prestashop,Javascript,Jquery,Prestashop,我需要使活跃的链接指向用户正在查看的页面的URL。这不是问题,问题在于URL中的查询字符串;我尝试了不同的解决方案,查看相关的答案,唯一发生的事情是,链接只有在我点击它时才会得到颜色,然后立即返回到与之前相同的颜色 我正在处理prestashop,这个菜单是一个安装好的模块,如果不是为了这个小问题,它工作得很好 下面是HTML(里面有javascript)。模块被发送到一个XML文件,以便smarty获取和编译: <div class="left_nav"> <h3&g
<div class="left_nav">
<h3>VIAGGIA CON NOI</h3>
<ul class="left_list">
<li><a href="../../cms.php?id_cms=10">I nostri viaggi spiegati</a></li>
<li><a href="../../cms.php?id_cms=11">Vostro viaggio su misura</a></li>
<li><a href="../../cms.php?id_cms=12">Attività ed estensioni </a></li>
<li><a href="../../cms.php?id_cms=17">Turismo accessibile</a></li>
<li><a href="../../cms.php?id_cms=18">Collaborare con noi</a></li>
</ul>
<h3>DICONO DI NOI</h3>
<ul class="left_list">
<li><a href="../../cms.php?id_cms=19">I nostri viaggiatori</a></li>
<li><a href="../../cms.php?id_cms=20">Stampa e altri media</a></li>
</ul>
</div>
<script type="text/javascript">// <![CDATA[
$(function() {
var filename = window.location.href.substr(window.location.href.lastIndexOf("/") + 1);
$('ul.left_list li a[href*=" + filename + "]').each(function() {
if (window.location.href.indexOf($(this).find('a').attr('href'))) {
$(this).addClass('active').siblings().removeClass('active');
}
});
});
// ]]></script>
维亚吉亚康诺伊酒店
迪科诺诺伊酒店
//
有人知道怎么做吗?注意到你忘了逃跑:
$('ul.left_list li a[href*="'+filename+'"]').each(function()
^ here ^here
请尝试使用以下jquery代码:
$(function()
{
$('.left_list li a').each(function(){
loc= window.location.pathname;
path=$(this).attr('href');
alert(loc+'-'+path);
if(loc==path)
{
alert('ok');
$(this).addClass('active');
}
});
});
我已经发布了几个警告,以查看链接中的href和页面中的href之间的差异,这样您就可以看到它的不同之处。(我用不同的链接测试了代码,它可以正常工作)我想你需要这个:
$(function() {
var winurl = window.location.href;
var url = winurl.substr(winurl.lastIndexOf('/')+1);
$('ul.left_list li a').each(function() {
$('ul.left_list li a[href$="'+url+'"]').addClass('active');
});
});