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".
Ответы
Ответ 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