jquery从URL中的哈希获取ID到.load()div内容

时间:2015-03-14 16:29:42

标签: jquery hash

到目前为止,我有我的页面:einserpasch.com

关键标记是:

<ul>
  <li><a href="#content_01" id="content_01"> !?! </a></li>
</ul>

文档末尾的div - 容器:

<div id="haupt_iframe">
</div>

单击下拉菜单项时,jQuery函数将HTML文件中的内容加载到div容器中(我省略了下面代码中的淡入淡出),而浏览器中的URL获得# - 标记结束(如einserpasch.com/#content_01):

$(document).ready(function(){
    $("li a").click(function(){ 
    var knopf = $(this).attr('id');
    $("#haupt_iframe").load("bilder/"+knopf+".html");               
});

到目前为止没问题。
但现在我想直接链接到不同的画廊。仅通过键入包含# - 符号的正确URL,使图像显示在div容器中 我的想法是,当我用window.location.hash读取时,在URL中使用哈希符号会让我获得一个id选择器。 我试图像这样管理它:

$(document).ready(function(){    
  if(window.location.hash){
  $(window.location.hash).trigger(function(){
    var knopf = $(this).attr('id');
    $("#haupt_iframe").load("bilder/"+knopf+".html");
  });
  };
});

但到目前为止,只有点击a属性才会触发该功能,但不会在最后输入带有特定# - 标记的网址。比如einserpasch.com/#painting

那么我错过了什么让我有直接联系?

提前致谢!
克莱门斯:)

ps:是的,我在代码审查中发布了这个,因为我希望您查看我的代码。但作为我的代码的一部分没有工作,帖子被关闭了。我还在学习这个社区的规则......

1 个答案:

答案 0 :(得分:1)

如果我对您的问题的理解是正确的,您可以更改您的代码

$(document).ready(function(){    
  if(window.location.hash){
    var knopf = window.location.hash.substr(1);
    $("#haupt_iframe").load("bilder/" + knopf + ".html");
  };
});

希望得到这个帮助。