Подтвердить что ты не робот

Jquery удалить прямой дочерний элемент

Используя jQuery, как я могу удалить тэг anchor в своем html-тесте, который также состоит из div-оболочки, и этот оберточный div находится над тегом привязки, который я хочу удалить.

Это похоже на

<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 i.e, один с id "not_me", в то время как я хочу удалить "remove_me".

4b9b3361

Ответ 1

$("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).

Ответ 2

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

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

Ответ 3

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

$("#remove_me").remove()

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