使用data-option-value - Jquery添加类

时间:2015-05-11 10:15:21

标签: javascript jquery

我想使用data-option-value添加选定的类。如果我单击启用1将其重定向到该页面中的其他页面,我想找到哪个锚标签具有相同的数据选项值,那么我必须添加所选的类。

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<!-- Home page -->
<a href="services/" data-option-value=".tab-1431326167-1-34">Enable 1</a>
<a href="services/" data-option-value=".tab-1431326167-2-16">Enable 2</a>
<a href="services/" data-option-value=".tab-1431326787790-2-7">Enable 3</a>


<!-- Other page -->
<a class="soft-bg-icons" href="#filter" data-option-value=".tab-1431326167-1-34"><span>Active 1 Content</span></a>
<a class="soft-bg-icons" href="#filter" data-option-value=".tab-1431326167-2-16"><span>Active 2 Content</span></a>
<a class="soft-bg-icons" href="#filter" data-option-value=".tab-1431326787790-2-7"><span>Active 3 Content</span></a>

1 个答案:

答案 0 :(得分:1)

对我来说,你有两种方式:

  1. 使用 #hashtag
  2. 使用查询字符串
  3. data-option-value发送到其他页面。

    点击它后,您可以添加<a> href data-option-value 哈希查询字符串在另一页。

    一个简单的例子:

    主页

    $(function(){
         $("a").on("click",function(e){ //change selector to be more focused on your menu
             e.preventDefault();
    
             //if u use #hashtag way
             var _url = $(this).attr("href") + "#/class/" + $(this).data("option-value");
    
             //if u use query string way
             var _url = $(this).attr("href") + "?class=" + $(this).data("option-value");
             location.href = _url;
         });
    });
    

    借阅页面

    $(function(){
        //if u use #hashtag way
        _mth = location.hash.match(/\/class\/(.*)/);
    
        //if u use query string way
        var _mth = location.href.match(/[?&]class=([^&]*)/);
    
        if(_mth) $("#page a[data-option-value='"+_mth[1]+"']").addClass(_mth[1].replace(".",""));
    });
    

    提醒您删除不遵循的代码。

    注意

    #hashtag 方式会生成以下网址: /otherpage.html#/class/.tab-1431326167-1-34

    查询字符串方式会生成以下网址: / otherpage.html?class=.tab-1431326167-1-34

    #hashtag 方式需要通过主页(使用不同的链接)重定向到不同的页面。

    ;)尝试