这可能是一个非常愚蠢的问题,但我无法在任何地方找到它并且我一直在寻找至少一个小时。
我有一个链接<a href="MusicMe.html" id="instrumentsNav">Instruments</a>
,我希望在点击后获取它的ID,因为我需要将一些变量传递给我打开的页面,以便知道已点击了这些工具链接。这是从productInformation.html
我还尝试过<a href="#" onclick="instrumentsClick()" id="instrumentsNav">Instruments</a>
,然后在我的JavaScript window.open("MusicMe.html", "_self");
中尝试传递变量,但绝对没有运气。关于如何在变量打开时将变量传递回页面的任何帮助都很棒。
一旦它打开,我使用变量来设置一个元素的ID,所以它只显示一组特定的信息,这些信息正在自行处理,但是当我回去尝试调用它时,它始终是认为它显示了所有这些,因为我无法弄清楚如何设置变量来定义它。不幸的是我需要使用JavaScript而不是PHP。
感谢。
答案 0 :(得分:5)
我会告诉你一些方法,希望你能够实现它:
当您导航到其他网页时,请将查询参数添加到网址。
window.open("MusicMe.html?variable=value", "_self");
在下一页中,通过获取window.location.href
并使用正则表达式在?
之后拆分参数来检查queryParam并获取该数据。
在导航到下一页之前,请在localStorage中设置变量
localStorage.setItem("variable","value");
window.open("MusicMe.html", "_self");
在第二页中,在窗口加载事件中。
$(function() {
if(localStorage.getItem("variable")) {
// set the ID here
// after setting remember to remove it, if it's not required
localStorage.removeItem("variable");
}
});
答案 1 :(得分:0)
您可以使用localStorage来保留值,或使用
之类的参数 href="MusicMe.html?id=111"
将值传递给新页面。
答案 2 :(得分:0)
您可以随时在您的网址中传递GET变量,就像这样myhost.com?var=value
您可以通过使用Js解析URL来获取此变量的值,请参阅此
答案 3 :(得分:0)
您只需将#值传递给url,然后将其与&#39; rel &#39;匹配即可。在指定元素上给出的属性。 在这里,我已经完成了从另一个页面上的链接打开折叠。
<强> JS:强>
var locationHash = window.location.hash;
var hashSplit = locationHash.split('#');
var currentTab = hashSplit[1];
$('.collapsible > li').each(function() {
var allRels = $(this).attr('rel');
if(currentTab == allRels){
$(this).find('.collapsible-header').addClass('active');
$(this).attr('id',currentTab);
}
});