2011-01-26 2 views
16

Использование jQuery, как я могу удалить тег привязки в моем теге html, который также состоит из 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(); 

он удаляет первый якорный тег в моей обертке ДИВ т.е. один с идентификатором «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

+0

@jAndy: Еще пара для вас. : o) – user113716

7

Вы хотите использовать children() искать только на прямых детей, и вы можете использовать :first или eq(0), чтобы удалить первый один:

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

почему бы вам не попробовать:

$("#remove_me").remove() 

не знаю, если это неправильно, я все еще участвую: P

+0

Это правильно, но у меня есть чувство, что OP просто использовал идентификаторы для примера, чтобы показать, какой из них был «», а какой нет. : o) – user113716

+0

hmm ok, поэтому дети сначала сделают трюк. Спасибо :) – pavid

+0

извините, но забыл упомянуть, что id (например, «remove_me») генерируется динамически, поэтому мы не можем использовать предложенный вами метод, так или иначе спасибо для ответа – Prashant

Смежные вопросы