如果jquery存在下一个元素,则删除前一个元素

时间:2012-11-01 13:48:21

标签: jquery html

我希望您的联合专业知识能够帮助您找到优雅的解决方案。我正在自动化报告以最小化人为输入(和错误)。报告的基础是一个网页,其中包含以下代码:

</p></li>

 <li>ARTICLE 1<br />
    <p>    
       <div class="list">
           Nothing found. 
       </div>
    </p>
 </li>
 <li>
    <p>ARTICLE 2</p>    
    <div class="list">
    <h4 class="sub-heading">ITEMS</h4>
     <ul>
        <li class="item">
           <span class="title"> 

p元素是由我创建的,而div class =“list”是插件的输出,超出了我的范围。基本上,插件使用特定查询扫描数据库,并生成为给定查询找到的项列表或“找不到”字符串。然后操作员将其复制到某处并删除“ITEMS”标题并“找不到任何内容”。使报告更具可读性。 到目前为止我设法做的是使用这些jqueries:

$(".list .sub-heading").addClass("hidden");
$(".list:contains('Nothing found.')").addClass("hidden");

我想要实现的是添加一个jquery,它不仅删除包含“Nothing found。”的div,还删除前一个元素,即上面示例中包含“ARTICLE 1”的行。 如果您能提供合理的解决方案,请提供帮助。提前谢谢。

2 个答案:

答案 0 :(得分:1)

您可以使用closest方法并隐藏隐藏其所有内容的li元素:

$(".list:contains('Nothing found.')").closest('li').addClass("hidden");

答案 1 :(得分:0)

你应该可以这样做:

$(".list:contains('Nothing found.')").parent('li').addClass("hidden");