2011-01-26 80 views
16

使用jQuery,我怎樣才能刪除我的html body中的一個錨標籤,它也包含一個包裝div,這個包裝div位於我想要移除的錨標籤上方。jquery刪除直接子元素

它就像

<body> 
    <div id="wrapper"> 
     <a id="not_me" href="#">hi</a> 
    </div> 

    <a id="remove_me" href="#">Remove Me</a> 

</body> 

如果我使用

$("body").find("a:first-child").remove(); 

將刪除第一個錨標記在我的包裝的div即一個ID爲「not_me」,而我想「remove_me」是除去。

回答

36
$("body").children("a:first").remove(); 

您使用children()(docs),因爲你只想指定的body直接孩子。

然後使用"a:first"作爲選擇器,以定位第一個元素<a>

這是因爲與first-child-selector(docs)你只會得到<a>如果是其父的第一個孩子(它不是)。但通過first-selector(docs)您可以獲得匹配的第一個<a>

替代。將其放置在同一個選擇器:

$('body > a:first').remove(); 

與上面相同,但使用>child-selector(docs)代替children()(docs)方法。

+0

aahhh!再給我一次機會!我只是喜歡那個..:p) – jAndy 2011-01-26 14:57:12

+0

@jAndy:還有幾個給你。 :o) – user113716 2011-01-26 14:58:51

7

你想用children()就只有直接子搜索,您可以使用:firsteq(0)刪除第一個:

$("body").children("a").eq(0).remove(); 
4

你爲什麼不嘗試:

$("#remove_me").remove() 

不知道是否有錯,我還在學習:P