Jquery 检查url并根据检测到的ID值筛选内容

Jquery 检查url并根据检测到的ID值筛选内容,jquery,Jquery,这里的逻辑是:如果url有#10或更高#20多岁#30,检查li的id值。然后根据li id值过滤div“contentEle”。“contentEle”id和li id匹配,筛选 我的脚本:过滤器正在工作。但添加选定的类不起作用。它选择容器中的最后一个元素并过滤该id和显示 HTML 你可以试试 var$els=$('.content div.contentEle').hide(), 哈希='!id10'//可以是window.location.hash.replace(/^#/,'')

这里的逻辑是:如果url有#10或更高#20多岁#30,检查li的id值。然后根据li id值过滤div“contentEle”。“contentEle”id和li id匹配,筛选

我的脚本:过滤器正在工作。但添加选定的类不起作用。它选择容器中的最后一个元素并过滤该id和显示

HTML

你可以试试

var$els=$('.content div.contentEle').hide(),
哈希='!id10'//可以是window.location.hash.replace(/^#/,'')
;
if(散列){
var$a=$('.slist a[href=“#”+散列+”),
$li;
如果($a.length){
$li=$a.parent().addClass('selected');
$li.sides('.selected').removeClass('selected');
$els.filter('.+$li.attr('id')).show()
}
}

1洛雷姆·伊普苏姆·多洛·希特·阿梅特,为精英献身。我。。。 2洛雷姆·伊普苏姆·多洛·希特·阿梅特,为精英献身。我。。。 1洛雷姆·伊普苏姆·多洛·希特·阿梅特,为精英献身。我。。。 3洛雷姆·伊普苏姆·多洛尔·希特·阿梅特(Lorem ipsum dolor sit amet),是一位杰出的献身者。我。。。
<ul>
    <li class="slist selected" id="id1"><a href="#!id10">Test1/a></li>
    <li class="slist" id="id2"><a href="#!id20">Test2</a></li>
    <li class="slist" id="id3"><a href="#!id30">Test3/a></li>
</ul>


<div class="content specials">
    <div class="contentEle id1">
            <img src="http://lorempixel.com/265/149/sports/" alt="">
            <div class="text">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ve...</div>       
    </div>
    <div class="contentEle id2">
            <img src="http://lorempixel.com/265/149/sports/" alt="">
            <div class="text">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ve...</div>       
    </div>
    <div class="contentEle id1">
            <img src="http://lorempixel.com/265/149/sports/" alt="">
            <div class="text">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ve...</div>       
    </div>
    <div class="contentEle id2">
            <img src="http://lorempixel.com/265/149/sports/" alt="">
            <div class="text">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ve...</div>       
    </div>
</div>
var $els = $('.content div.contentEle').hide(),
    $curr = $();

$('ul li').each(function(i)
{
    var listID = "#!" + window.location.href.split("!")[1];
    if ($('ul li a[href="' + listID + '"]').length) {   
        console.log(listID); 
        $('.slist.selected').not(this).removeClass('selected');
        $(this).addClass('selected');
        $curr = $els.filter('.' + this.id).hide();
        $curr.slice(0, 6).show();
        $els.not($curr).hide();  
    } 
});