jquery - 使用数组[或更好的方法]从页面中删除多个 DIV

标签 jquery

我正在尝试编写一段代码来删除其 <p> 中的所有 DIV。 child 包含数组中的值。

我的代码无法正常工作,你能帮我解决吗?
也许你有比我更好的方法。

<小时/> 这是我尝试做的事情:

$(document).ready(function () {
    var values=['VALUE1','VALUE2'];
    for(var i=0;i<values.length;i++) {
        $("p:contains(values[i])").closest('.mainDiv').remove();
    }
});

这是 HTML 框架(jQuery 代码只会在页面上留下 VALUE0 DIV):

<div class="clear  mainDiv">
    <div class="clear">
      <div class="sidebar">
        <p align="center" class="tgValue">
          <a href="">
            VALUE0
          </a>
        </p>
      </div>
    </div>
  </div>

    <div class="clear  mainDiv">
    <div class="clear">
      <div class="sidebar">
        <p align="center" class="tgValue">
          <a href="">
            VALUE1
          </a>
        </p>
      </div>
    </div>
  </div>

    <div class="clear  mainDiv">
    <div class="clear">
      <div class="sidebar">
        <p align="center" class="tgValue">
          <a href="">
            VALUE2
          </a>
        </p>
      </div>
    </div>
  </div>

  <div class="clear  mainDiv">
    <div class="clear">
      <div class="sidebar">
        <p align="center" class="tgValue">
          <a href="">
            VALUE1
          </a>
        </p>
      </div>
    </div>
  </div>

最佳答案

您需要使用字符串连接将变量的值添加到字符串文字

$(".mainDiv p:contains(" + values[i] + ")").closest('.mainDiv').remove();

演示:Fiddle

<小时/>

使用:contains将返回部分匹配,例如选择器将返回 Value10 :contains(Value1) - Demo

如果您不希望发生这种情况,请使用类似的过滤器

jQuery(function ($) {
    var values = ['VALUE1', 'VALUE2'];
    for (var i = 0; i < values.length; i++) {
        $(".mainDiv p").filter(function () {
            return $.trim($(this).text()) == values[i]
        }).closest('.mainDiv').remove();
    }
});

演示:Fiddle

关于jquery - 使用数组[或更好的方法]从页面中删除多个 DIV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23305989/

相关文章:

jQuery 选择的选项仅在调试中工作

jquery - 文章中的内联图像和标题 - 使标题的宽度与图像的宽度一致

javascript - 实现无限滚动的后退按钮

javascript - CDNJS 的 fullcalendar.js 不起作用?

PHP:checkbox-isset 总是返回 true

jquery - 删除子元素包含大于特定值的文本的所有 div

jquery - 使用 jQuery 和/或 CSS 创建此应用程序演示视频中看到的按钮按下效果?

javascript - 对于字符串中数组项的每个实例

c# - MVC4 与 MySql

jquery - 创建仅在移动设备中的中型设备(平板电脑)bot 上显示的 Bootstrap 菜单汉堡包图标