Javascript 单击索引中的链接后,是否在不同页面上单击更改活动类?
在我的索引上,我有这些链接Javascript 单击索引中的链接后,是否在不同页面上单击更改活动类?,javascript,jquery,html,css,Javascript,Jquery,Html,Css,在我的索引上,我有这些链接 <li class="index1"><a href="page2.html"> Link1 in index </a></li> <li class="index1"><a href="page2.html"> Link2 in index </a></li> <li class="index1"><a href="page2.html"> Lin
<li class="index1"><a href="page2.html"> Link1 in index </a></li>
<li class="index1"><a href="page2.html"> Link2 in index </a></li>
<li class="index1"><a href="page2.html"> Link3 in index </a></li>
如果可能的话,我希望.page2单击功能中发生的情况与您从index.html中单击.index1时的情况类似*
非常感谢 编辑*
由于page2.html是一个与索引页完全独立的页面,因此必须执行以下两种操作之一来修改元素
1) 单击第一页上的索引后,可以向查询字符串添加参数
<li><a href="page2.html?index=1"> Link1 in index </a></li>
<li><a href="page2.html?index=2"> Link2 in index </a></li>
<li><a href="page2.html?index=3"> Link3 in index </a></li>
2) 您通常可以执行上述操作,但不必向查询字符串中添加参数,只需单击索引页上的一个列表项创建一个cookie,然后在第2页上读取烹饪内容而不是查询字符串。在其他2个
li
上,您没有attrtarget
,对不起!我想让我的代码更容易阅读,但我忘了。谢谢提醒!第2页是嵌入在索引页中还是完全分开?如果它们是分开的,您需要以不同的方式进行处理,例如,您可能需要更新查询字符串以包含您在第1页单击的链接的索引,然后在第2页读取查询字符串,然后根据您在第1页单击完全分开的索引时添加到查询字符串中的数字隐藏/显示元素,对不起,让我编辑我的代码。我想让它工作的时候头疼。^我可以理解如何让它工作的逻辑,但我不太了解jQuery语言如何将其放入代码中。非常感谢您的帮助!我需要时间来理解代码,所以在此期间我将复制它以测试它。我觉得它快到了。单击索引中的link2不会隐藏默认显示的div1,也不会使page2.html中的link2处于活动状态。但它会在div2上显示文本!很近。谢谢。:)它没有将第2页的link2、html设置为活动状态,因为您需要像这样向每个列表项添加id标记jQuery('.page2').click(function(){
jQuery('.page2').removeClass('active');
jQuery(this).addClass('active');
});
jQuery(function(){
jQuery('.page2').click(function(){
jQuery('.targetDiv').hide();
jQuery('#div'+$(this).attr('target')).show();
});
});
<li><a href="page2.html?index=1"> Link1 in index </a></li>
<li><a href="page2.html?index=2"> Link2 in index </a></li>
<li><a href="page2.html?index=3"> Link3 in index </a></li>
$( document ).ready(function() {
var index = getParameterByName('index')
$('ul > li').not('#target' + index).hide()
$('div').not('#div' + index).hide()
$('#div'+ index).show();
$('#target' + index).addClass('active');
});
function getParameterByName(name) {
url = window.location.href;
name = name.replace(/[\[\]]/g, "\\$&");
var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"),
results = regex.exec(url);
if (!results) return null;
if (!results[2]) return '';
return decodeURIComponent(results[2].replace(/\+/g, " "));
}