2013-03-02 88 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();