使用jQuery从html中删除元素

使用jQuery从html中删除元素,jquery,html,jquery-selectors,Jquery,Html,Jquery Selectors,我不熟悉jQuery 我有如下列表元素 <ul> <li> <a href="abc">ABC</a> </li> <li> <!-- I want to remove this element--> <ul> <li> <a href="def">DEF</a

我不熟悉jQuery

我有如下列表元素

<ul>
    <li>
        <a href="abc">ABC</a>
    </li>
    <li> <!-- I want to remove this element-->
        <ul>
            <li>
                <a href="def">DEF</a>
            </li>
            <li>
                <a href="ghi">GHI</a>
            </li>
        </ul>
    </li>
</ul>
我想使用jQuery删除具有GHI锚标记的LI元素(在上面的示例中注释)。 或者通过其他方式,我希望根据href属性或锚标记中包含的文本删除该元素

请帮忙

$("ul:first > li:eq(1)").remove()
选择第一个ul,然后删除第二个li子级

或者如果你指的是带有GHI标签的li

$("ul:eq(1) > li:eq(1)").remove()

选择第二个ul,并找到第二个li子元素。

要使用
href=“ghi”
删除放置在锚点上方某处的元素,可以执行以下操作:

jQuery('a[href="ghi"]').parents('ul > li').remove();
或者,如果需要删除的
li
元素不是
ul
元素的直接子元素(很好,mrtsherman):


查看它的操作:

如果您想删除带有某些href的li:


这就是选择所有包含以“abc”开头的HREF锚的列表项,然后删除它们。

谢谢,但情况并非总是如此。我想删除基于锚定标记中的文本或锚定标记的href属性的元素。@PrateekDeshpande:基于此评论,我添加了我的答案-它删除了包含锚定的
  • 元素,锚定的
    href
    等于“
    ghi
    ”。我最喜欢这个。提供的大多数其他答案都是错误的。假设被删除的
    li
    ul
    的直接子对象,但OP没有指定替代案例。@Mrtherman:谢谢,我添加了当我们要删除的
    li
    不是
    ul
    的直接子对象时的案例。
    $('a[href="ghi"]').closest('li').closest('li').remove();
    
    $('li > a[href^="abc"]').remove();
    
    $('a[href="ghi"]').closest('li').closest('li').remove();