使用jQuery基于其标题隐藏锚点href

时间:2014-05-09 10:20:44

标签: jquery html css href

我有以下html

<li class="static">
 <a title="blog" class="static menu-item" href="http://google.com">Blog</a>
</li>

<li class="static">
 <a title="profile" class="static menu-item" href="http://profile.com">Profile</a>
</li>

<li class="static">
 <a title="site2" class="static menu-item" href="http://site-2.com">Site-2</a>
</li>

我需要仅根据其title属性隐藏上述链接(仅指向Blog和Profile的链接)。通过jQuery做最简单的方法是什么?

7 个答案:

答案 0 :(得分:4)

您可以使用attribute equal selector

试试这个:

$('[title=blog],[title=profile]').hide()

答案 1 :(得分:4)

.static a[title='blog'], .static a[title='profile']
{
display:none;
}

答案 2 :(得分:3)

虽然你注意到你想要一个jQuery解决方案,但请注意,你可以在CSS中实际完成这个:

a[title=blog], a[title=site2]{
  display:none;
}

答案 3 :(得分:2)

  

我需要隐藏上述链接(仅限博客和个人资料的链接)   仅基于他们的标题属性。

使用Attribute Equals Selector [name="value"]并使用Multiple Selector (“selector1, selector2, selectorN”)

组合选择器
$('a[title=profile], a[title=site2]').hide()

答案 4 :(得分:0)

$(document).ready(function(){
  $('a[title=profile], a[title=site2]').hide()
})

使用jQuery

答案 5 :(得分:0)

除上述答案外,如果隐藏链接需要是动态的,您可以使用标题数组解决此问题,如下所示:

var titleArray = ['blog', 'profile'];

function hideLinks(titleArray) {
    for (var i = 0; i < titleArray.length; i++) {
        $('a[title='+titleArray[i]+']').hide();
    }
}

hideLinks(titleArray);

答案 6 :(得分:0)

您可以使用:

$("a").each(function(){

   if($(this).attr("title") != "site2"){
        $(this).hide();                
    } 

 });

http://jsfiddle.net/fxcfY/