2013-03-02 87 views
1

我有一个ul元素,其中有li项。 li项目没有任何可用作直接选择器的属性集(没有类集,没有标识符,也没有设置这些属性的方法)。根据特定li中的链接值,我想隐藏该元素。所以在下面的例子中,我想将li的css设置为href='link4'隐藏。父亲的jQuery选择器

我该如何编写选择器来抓取这个元素?我已经尝试了很多变体,包括`has([href ='link4']),我认为它会起作用,但没有运气。

感谢您的帮助。

<ul id="mylist"> 
    <li><a href="link1">link1</a></li> 
    <li><a href="link2">link2</a></li> 
    <li><a href="link3">link3</a></li> 
    <li><a href="link4">link4</a></li> 
</ul> 
+0

你能说清楚 – PSR 2013-03-02 06:24:54

+1

@ PSR--对不起,你在问什么?问题不够清楚吗? – user101289 2013-03-02 06:27:44

+0

@PSR:这对我来说已经够清楚了。 – biziclop 2013-03-02 06:28:10

回答

1
$(function() { 
    $('#mylist li').has('a[href=link4]').hide(); 
    // $('#mylist li:has("a[href=link4]")').hide(); 
    // $('#mylist li).eq(3).hide(); 
}); 

http://jsfiddle.net/LQdnG/

+0

要么可以工作。 – 2013-03-02 06:25:53

+1

谢谢大家的帮助! – user101289 2013-03-02 06:37:04

0

试试这个:

var anchor4=$('#mylist li a[href="link4"]') 

你会在上面的变量中获得一个标签的对象来隐藏它的第一个父元素li,你可以这样做。

$(anchor4).closest('li').hide();