为了账号安全,请及时绑定邮箱和手机立即绑定

根据特定文本删除各种 div

根据特定文本删除各种 div

有只小跳蛙 2022-08-04 16:53:00
我有这个DOM,我想像过滤器一样根据h5标签中包含的文本删除li。<div class="total">  <ul>   <li>    <h5>this super heroe is super cool: Clark Kent</h5>   </li>  </ul>  <ul>   <li>    <h5>I always wanted to be Batman</h5>   </li>  </ul>  <ul>   <li>    <h5>Somedays I will be transform as Spiderman </h5>   </li> </ul>  <ul>   <li>    <h5>This women is incredible Catwoman</h5>   </li>  </ul>   <li>    <ul>     <h5>The worst character is Joker</h5>   </ul>   </li>   <ul>    <li>     <h5>Someone knows about Green Lantern </h5>    </li>   </ul></div>我需要根据字符串将过滤器放入此数组中,该数组没有昏迷let appDataTab = ["Clark Kent    Catwoman     Joker"]我的目标是删除所有李,它的h5不满足“克拉克肯特”,“猫女”和“小丑”,因为你可以看到appDataTab内容这些字符串没有分离。
查看完整描述

2 回答

?
MMTTMM

TA贡献1869条经验 获得超4个赞

以下是从我端验证后添加其他代码后的更新代码。


<!DOCTYPE html>

<html>

<head>

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>

</head>

<body>

    <div class="total">

        <ul>

            <li>

                <h5>this super heroe is super cool: Clark Kent</h5>

            </li>

        </ul>

        <ul>

            <li>

                <h5>I always wanted to be Batman</h5>

            </li>

        </ul>

        <ul>

            <li>

                <h5>Somedays I will be transform as Spiderman </h5>

            </li>

        </ul>

        <ul>

            <li>

                <h5>This women is incredible Catwoman</h5>

            </li>

        </ul>

        <ul>

            <li>

                <h5>The worst character is Joker</h5>

            </li>

        </ul>        

        <ul>

            <li>

                <h5>Someone knows about Green Lantern </h5>

            </li>

        </ul>

    </div>

    <script>

        $(function () {

            var prohibited = ['Clark Kent', 'Catwoman', 'Joker'];


            $("li").each(function (index) {

                var wordFound = false;


                for (var i = 0; i < prohibited.length; i++) {


                    if ($(this).text().indexOf(prohibited[i]) > -1) {

                        wordFound = true;

                        break;

                    }

                }


                if (wordFound == false) {

                    $(this).parent().remove();

                }

            });

        })

    </script>

</body>

</html>


查看完整回答
反对 回复 2022-08-04
?
饮歌长啸

TA贡献1951条经验 获得超3个赞

您应该首先使其成为常规的逗号分隔数组,然后查找该元素并删除包含该元素的数组。li


逐个注释步骤:


$(document).ready(function () {

//Your array

var appDataTab = ["Clark Kent    Catwoman     Joker"];

//Split with more than 1 space (2 space)

var appDataSplit = appDataTab[0].split("  ");

//Remove empty elements

var filtered = appDataSplit.filter(function (el) {

  return el != "";

});

//Trim elements from extra spaces

var cleanFiltered = [];

for (i=0; i < filtered.length; i++){

  cleanFiltered.push(filtered[i].trim());

}

console.log(cleanFiltered);

//look for any li containing the words in cleanFilter array

  $("li").each(function(){

    for (i=0; i < cleanFiltered.length;i++){

      if ($(this).text().indexOf(cleanFiltered[i]) > -1) {

        $(this).remove();

      }  

    }

  });

});

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<div class="total">

  <ul>

   <li>

    <h5>this super heroe is super cool: Clark Kent</h5>

   </li>

  </ul>


  <ul>

   <li>

    <h5>I always wanted to be Batman</h5>

   </li>

  </ul>


  <ul>

   <li>

    <h5>Somedays I will be transform as Spiderman </h5>

   </li>

 </ul>


  <ul>

   <li>

    <h5>This women is incredible Catwoman</h5>

   </li>

  </ul>


   <ul>

    <li>

     <h5>The worst character is Joker</h5>

   </li>

   </ul>


   <ul>

    <li>

     <h5>Someone knows about Green Lantern </h5>

    </li>

   </ul>

</div>


查看完整回答
反对 回复 2022-08-04
  • 2 回答
  • 0 关注
  • 120 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信