通过location.hash选择一个特定的锚元素

时间:2009-09-10 05:32:10

标签: jquery hash tabs hyperlink

我正在尝试选择网页的特定标签部分,点击其他网页上的链接。我被建议使用location.hash函数来选择选项卡的特定锚元素,并在第一个网页的href属性中添加hash属性。

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

这是代码。这是第一个网页中的链接。我想要选择第二个网页的“已提交”选项卡。所以我添加了该标签的id,#submitted到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");
});

3 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

在我设置点击处理程序之前,我希望你能够点击click()。尝试将$("#submitted").trigger("click");移到底部。

答案 2 :(得分:0)

我找到了解决问题的方法。我刚刚在if中添加了一个#,即条件,即

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

现在可以正常工作。如果我碰到那个特定的链接,我会被重定向到那个特定的标签部分。