在javascript中从URL检索ID参数

在javascript中从URL检索ID参数,javascript,jquery,html,jquery-events,Javascript,Jquery,Html,Jquery Events,我正在寻找一些帮助,试图使用JavaScript从URL检索ID。 我有一个主菜单系统,看起来像这样 <section id="menu"> <ul id="main"> <li id="first"><a href="index.html">Home</a></li> <li><a href="Tables.html">League Tables</a><span cla

我正在寻找一些帮助,试图使用JavaScript从URL检索ID。 我有一个主菜单系统,看起来像这样

<section id="menu">
 <ul id="main">
  <li id="first"><a href="index.html">Home</a></li>
  <li><a href="Tables.html">League Tables</a><span class="darrow">&#9660;</span>
  <ul class="sub1">
    <li><a href="Tables.html?id=DivP">Premier Division</a></li>
    <li><a href="Tables.html?id=Div1">Division 1</a></li>
    <li><a href="Tables.html?id=Div2A">Division 2A</a></li>
    <li><a href="Tables.html?id=Div2B">Division 2B</a></li>
    <li><a href="Tables.html?id=Div2C">Division 2C</a></li>
    <li><a href="Tables.html?id=Div2D">Division 2D</a></li>
  </ul>
  </li>
 <li><a href="Fixtures.html">Fixtures/Results</a></li>                  
 <li><a href="ClubContacts.html">Club Contacts</a></li>
 <li><a href="TalkinBaws.html">Talkin' Baws</a></li>
 <li><a href="ContactUs.html">Contact Us</a></li>
</ul>
</section>
此列表正在使用
.click()
,但是我遇到的问题是,我希望页面根据主菜单中的选择加载所需的分区


例如,如果用户在主页上,试图通过主菜单直接转到第2B部分,我想知道如何从URL中的锚标记(
a href=“Tables.html?ID=Div2B”
)获取ID,以便在加载页面时显示正确的部分

这是我已经拥有的JavaScript:

$("document").ready(function()
{

$('#DivP').show();
$('#Div1').hide();
$('#Div2A').hide();
$('#Div2B').hide();
$('#Div2C').hide();
$('#Div2D').hide();

$('#showDivP').click(function()
{
    $('#DivP').show();
    $('#Div1').hide();
    $('#Div2A').hide();
    $('#Div2B').hide();
    $('#Div2C').hide();
    $('#Div2D').hide();
});

$('#showDiv1').click(function()
{
    $('#DivP').hide();
    $('#Div1').show();
    $('#Div2A').hide();
    $('#Div2B').hide();
    $('#Div2C').hide();
    $('#Div2D').hide();
});
$('#showDiv2A').click(function()
{
    $('#DivP').hide();
    $('#Div1').hide();
    $('#Div2A').show();
    $('#Div2B').hide();
    $('#Div2C').hide();
    $('#Div2D').hide();
});
$('#showDiv2B').click(function()
{
    $('#DivP').hide();
    $('#Div1').hide();
    $('#Div2A').hide();
    $('#Div2B').show();
    $('#Div2C').hide();
    $('#Div2D').hide();
});
$('#showDiv2C').click(function()
{
    $('#DivP').hide();
    $('#Div1').hide();
    $('#Div2A').hide();
    $('#Div2B').hide();
    $('#Div2C').show();
    $('#Div2D').hide();
});
$('#showDiv2D').click(function()
{
    $('#DivP').hide();
    $('#Div1').hide();
    $('#Div2A').hide();
    $('#Div2B').hide();
    $('#Div2C').hide();
    $('#Div2D').show();
});


}); 
我很抱歉,如果这是一个重复的问题,但我还没有找到一个明确的答案,我可以理解和工作


感谢您提供帮助,以获取单击的锚的
id
属性

$('a').on('click', function(){
    var id = $(this).attr('id');
    console.log(id);
});
要从href属性获取id

$('a').on('click', function(){
    var href = $(this).attr('href');
    var id = href.split('id=')[1];
    console.log(id);
});

要在
jquery
中获取url的
get
参数,可以使用以下函数:

在此博客上找到:,此问题:


仅供参考,您可以执行此操作('#DivP,#Div1,#Div2B,#Div2C')。隐藏(),而不是在单独的行上;)好的,谢谢,我不知道,然后触发它就像
$('#show'+id)一样简单。触发器('click')
@JosephMarikle您的触发器似乎不起作用:(在javascript中看起来它被跳过了。我已经将代码添加到我的js文件中,除了触发器之外,其他一切似乎都很好。如果我很愚蠢,很抱歉,但这对我来说都是新的。它应该可以工作。只要触发器调用在
getUrlParameter
调用之后,并且在您将单击事件侦听器添加到第二个li之后st链接它应该可以触发它。你能在某个地方发布一些代码吗(pastebin或JSFIDLE)?我已经将我的javascript文件添加到pastebin,希望这会有所帮助,但我不明白你对第二个列表单击侦听器的意思,我想$showDivX.click(function())已经是这样了@JosephMarikle我太傻了lol我把它移到了JS文件的底部,现在一切都正常了抱歉。我不确定你所说的点击侦听器是什么意思,但我现在明白了。感谢所有的帮助;)这个答案对初学者来说更有意义。:“我如何从URL中的锚标记获取ID”。OP不想从锚标签上得到它。他想从我点击主菜单链接时传递的URL参数中获取它。@JosephMarikle。。。我会等待OP的回应。我认为考虑到他们缺乏经验,这可以用不同的方式来解释。将根据OP的回复更新我的答案。注:我读过很多问题,这些问题的措辞都是想问一些问题,但意思完全不同;)我猜OP是我自己lol。。但是@JosephMarikle是正确的,因为我希望使用URL,而不是直接从a标签中选择,因为分区可能是从其他可用页面中选择的。哈哈,是的,就是你:)好的,我明白了。很好的一个@JosephMarikle!
$('a').on('click', function(){
    var href = $(this).attr('href');
    var id = href.split('id=')[1];
    console.log(id);
});
var getUrlParameter = function getUrlParameter(sParam) {
    var sPageURL = decodeURIComponent(window.location.search.substring(1)),
        sURLVariables = sPageURL.split('&'),
        sParameterName,
        i;

    for (i = 0; i < sURLVariables.length; i++) {
        sParameterName = sURLVariables[i].split('=');

        if (sParameterName[0] === sParam) {
            return sParameterName[1] === undefined ? true : sParameterName[1];
        }
    }
};
var id = getUrlParameter('id');