【问题标题】:Select a particular anchor element through location.hash通过 location.hash 选择特定的锚元素
【发布时间】:2010-11-27 01:46:00
【问题描述】:

我正在尝试在单击另一个页面上的链接时选择网页的特定选项卡部分。有人建议我使用 location.hash 函数来选择选项卡的特定锚元素,并在第一个网页的 href 属性中添加 hash 属性。

但是代码对我不起作用。我得到了整个页面,而不是选择的特定选项卡。有人可以帮我吗?

这里是代码。这是第一个网页中的链接。我希望选择第二个网页的已提交选项卡。所以我添加了那个标签的ID,#submitted to the url。

<a id="formStatus<?php echo $status;?>" class="code_link" href="/FormBuilder/main/viewAllMyForms#submitted"><?php echo $status;?></a>

这是第二页的代码,我在这里检查 location.hash 是否等于提交。

if(location.hash=="submitted") {
       $("#submitted").trigger("click");
}

$('#submitted , #formStatusSubmitted').click({
 <?php foreach($myForms as $form):
    if($form['Form']['status']=="Incompleted"){ ?>
        $('.fm_myformsample_container'+<?php echo $form['Form']['id'];?>).hide();
<?php }

   else{?>
        $('.fm_myformsample_container'+<?php echo $form['Form']['id'];?>).show();
  <?php }

  endforeach;?>

  $('#sort_by').find(".selected").removeClass();
  $('#submitted').addClass("selected");
});

【问题讨论】:

  • 你试过“document.location.hash”吗?

标签: jquery hash tabs hyperlink


【解决方案1】:

尝试 window.location.hash 或 document.location.hash

【讨论】:

    【解决方案2】:

    在我看来,您在设置点击处理程序之前触发了 click()。尝试将$("#submitted").trigger("click"); 移到底部。

    【讨论】:

    • 这是您发布的代码的第二行。 之前您设置点击处理程序的位置(您发布的大部分其余代码)
    【解决方案3】:

    我找到了解决问题的方法。我只是在那个if条件下给Id加了#,也就是

    if(location.hash=="#submitted"){
           $("#submitted").trigger("click");
    }
    

    它现在可以工作了。如果我点击那个特定的链接,我会被重定向到那个特定的标签部分。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-04-27
      • 1970-01-01
      • 2018-05-13
      • 2018-12-03
      • 1970-01-01
      • 2019-07-20
      • 2011-07-01
      • 1970-01-01
      相关资源
      最近更新 更多