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

使用父选择器过滤

使用父选择器过滤

慕桂英4014372 2023-05-11 13:22:54
请帮帮我。我需要在绘画目录中添加一个过滤器。我在页面上有这样的代码:<div class="container">    <div class="row">        <div class="col-12">            <input id="myInputDiv" type="text">            <script>                (function ($) {                    $('#myInputDiv').on('keyup', function () {                        var value = $(this).val().toLowerCase();                        $('#myDIV *').filter(function () {                            $(this).toggle($(this).text().toLowerCase().indexOf(value) > -1);                        });                    });                }(jQuery));            </script>        </div>    </div>    <div class="row" id="myDIV">        <div class="col-4 col-sm-4 col-md-2 color-teaser">            <div class="views-fields">                <div class="views-field views-field-field-c-rgb-id">                    <div class="color-teaser-display" style="background-color: #F6F3E6; color: #F6F3E6" role="img" alt="#F6F3E6"></div>                </div>                <div class="views-field views-field-title"> <span class="field-content">F300</span>                </div>            </div>        </div>        <div class="col-4 col-sm-4 col-md-2 color-teaser">            <div class="views-fields">                <div class="views-field views-field-field-c-rgb-id">                    <div class="color-teaser-display" style="background-color: #F9EFD8; color: #F9EFD8" role="img" alt="#F9EFD8"></div>                </div>                <div class="views-field views-field-title"> <span class="field-content">G300</span>                </div>            </div>        </div>    </div></div>作为脚本的结果,我得到了这个:<div class="views-field views-field-title">     <span class="field-content">F300</span></div>如何更改脚本以获得所需的结果?
查看完整描述

2 回答

?
三国纷争

TA贡献1804条经验 获得超7个赞

您必须过滤children以下元素myDIV:


(function ($) {

  $('#myInputDiv').on('keyup', function () {

      var value = $(this).val().toLowerCase();

      $('#myDIV').children().filter(function () {

          $(this).toggle($(this).text().toLowerCase().indexOf(value) > -1);

      });

  });

}(jQuery));

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

<div class="container">

    <div class="row">

        <div class="col-12">

            <input id="myInputDiv" type="text">

        </div>

    </div>

    <div class="row" id="myDIV">

        <div class="col-4 col-sm-4 col-md-2 color-teaser">

            <div class="views-fields">

                <div class="views-field views-field-field-c-rgb-id">

                    <div class="color-teaser-display" style="background-color: #F6F3E6; color: #F6F3E6" role="img" alt="#F6F3E6"></div>

                </div>

                <div class="views-field views-field-title"> <span class="field-content">F300</span>

                </div>

            </div>

        </div>

        <div class="col-4 col-sm-4 col-md-2 color-teaser">

            <div class="views-fields">

                <div class="views-field views-field-field-c-rgb-id">

                    <div class="color-teaser-display" style="background-color: #F9EFD8; color: #F9EFD8" role="img" alt="#F9EFD8"></div>

                </div>

                <div class="views-field views-field-title"> <span class="field-content">G300</span>

                </div>

            </div>

        </div>

    </div>

</div>


查看完整回答
反对 回复 2023-05-11
?
拉莫斯之舞

TA贡献1820条经验 获得超10个赞

而不是$('#myDIV *')使用,$('#myDIV > div')所以您只过滤其中包含 col-4 的潜水


(function ($) {

    $('#myInputDiv').on('keyup', function () {

        var value = $(this).val().toLowerCase();

        $('#myDIV > div').filter(function () {

            $(this).toggle($(this).text().toLowerCase().indexOf(value) > -1);

        });

    });

}(jQuery));

.color-teaser{

  background: red;

}

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



<div class="container">

    <div class="row">

        <div class="col-12">

            <input id="myInputDiv" type="text">

        </div>

    </div>

    <div class="row" id="myDIV">

        <div class="col-4 col-sm-4 col-md-2 color-teaser">

            <div class="views-fields">

                <div class="views-field views-field-field-c-rgb-id">

                    <div class="color-teaser-display" style="background-color: #F6F3E6; color: #F6F3E6" role="img" alt="#F6F3E6"></div>

                </div>

                <div class="views-field views-field-title"> <span class="field-content">F300</span>

                </div>

            </div>

        </div>

        <div class="col-4 col-sm-4 col-md-2 color-teaser">

            <div class="views-fields">

                <div class="views-field views-field-field-c-rgb-id">

                    <div class="color-teaser-display" style="background-color: #F9EFD8; color: #F9EFD8" role="img" alt="#F9EFD8"></div>

                </div>

                <div class="views-field views-field-title"> <span class="field-content">G300</span>

                </div>

            </div>

        </div>

    </div>

</div>


查看完整回答
反对 回复 2023-05-11
  • 2 回答
  • 0 关注
  • 109 浏览
慕课专栏
更多

添加回答

举报

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