从其他页面使用 'href' 到达(即取消隐藏)特定的 div

to reach (ie. to unhide) a particular div using 'href' from other page

有一个 pageA 有 3 div(考虑)。我在另一页上也有 link。当用户单击 link 时,他们必须到达页面 A 中的第 3 个 div。如何做到这一点?

In my code all div are hidden except the one which is selected at that time. so there is no need for scrolling.

Demo

HTML:(PageA.html)

    <div id="mws-navigation">
        <ul id="link">
            <li class="" data-related="a" id="a1"><a href="#a"><i class="icon-book"></i>A</a></li>
            <li data-related="b" class="" id="b1"><a href="#b"><i class="icon-search"></i>B</a></li>
          <li data-related="c" class="" id="c1"><a href="#c"><i class="icon-calendar"></i>C</a></li>    
        </ul>
    </div>         
<!-- Main Container Start -->
<div id="mws-container" class="clearfix">
    <!-- Inner Container Start -->
        <div id="a" class="tab">
            aaaa
        </div>
        <div id="b" class="tab"> 
            bbbb
        </div>
        <div id="c" class="tab"> 
           cccc
        </div>
</div>

第B.html页:

<a href="PageA.html#c">vvv</a>// this link will be in other page(to reach C)

// 我必须在 herf="" 中付出才能达到那个特定的 div

JQuery:

$(function()
    {

            $('#link li').removeClass('actif');
            $(this).find('li').addClass('actif');
            $('.tab').hide();
            $('#a').show();
            document.getElementById('a1').className='active';
            $('#link li').click(function(e){
            $('#link li').removeClass('actif');
            $(this).find('li').addClass('actif');
            $('.tab').hide();
            $('#'+$(this).attr('data-related')).show();
            e.preventDefault();
});
    });

有什么建议吗?

好的,我想你是说你想根据用户从另一个页面点击的内容来显示和关注特定元素。

在页面 B 上,将参数添加到 href 中的查询字符串,如下所示:

<a href="PageA.html?showdiv=c">vvv</a>

如果您有服务器端访问权限 - java、php 或其他,那么我建议使用它来处理查询字符串并向您的 [=33= 添加一个 class ] 第 A 页

<div id="c" class="tab showAndFocus"> cccc</div>

var myElementToShow = $(".showAndFocus");
myElementToShow.show();
myElementToShow.focus();

但是,如果您只有 jquery/javascript 来执行此操作(即没有服务器端可以帮助您处理查询字符串),那么您可以访问所讨论的查询字符串参数 here

var urlParams;
(window.onpopstate = function () {
    var match,
       pl     = /\+/g,  // Regex for replacing addition symbol with a space
       search = /([^&=]+)=?([^&]*)/g,
       decode = function (s) { return decodeURIComponent(s.replace(pl, " ")); },
       query  = window.location.search.substring(1);

       urlParams = {};
       while (match = search.exec(query))
           urlParams[decode(match[1])] = decode(match[2]);
})();

获得查询字符串后,您可以轻松获取要显示的 div...

var myElementToShow = $("#"+urlParams.showdiv);
myElementToShow.show();
myElementToShow.focus();

您可以在页面加载时读取 location.hash - 在您的 jQuery load($) 函数中