[jQuery]該当する属性と値の有無で条件分岐する方法

ちょっとややこしい。

どういうことか

リストとかで規則性をもたせたコンテンツ群の中に、特定の属性を持ったものがある。

それを引っ張ってきて、別個のjsを適用したい。

やっていく

こういうものがあるとする。

<ul>
    <li><a href="">***</a></li>
    <li><a href="" target="_blank">***</a></li>
    <li><a href="">***</a></li>
    <li><a href="">***</a></li>
    <li><a href="">***</a></li>
</ul>

この記事みたくli自体にリンク機能をつけたいんだけど、aタグの属性に準じて一部は別タブに飛ばしたい。

いちいちclassを振るのはだるいので、リンクurl取得と同時にtarget属性も拾って、そっちで条件分岐をする。属性の有無だけだと事故るリスクがあるので、値までセットで指定したい。

こうなる。

$(function(){
    $('ul li').on('click',function(){
        href = $(this).find('a').attr('href');
        if($(this).find('a').is('[target=_blank]')){
            window.open(href,'_blank');
        }else{
            window.location.href = href;
        }
    })
})

つまり

この部分がネックになる。

if($('***).is('[***=***]')){
    ︙
}

よろしくどうぞ。

コメント

タイトルとURLをコピーしました