使用jQuery访问特定的子div

时间:2017-06-09 12:27:10

标签: javascript jquery html css twitter-bootstrap-3

我想知道在foreaching

时如何访问div中的特定元素

这是一些代码

HTML

<div class="row menu-filter-items">
    <div class="col-md-4 margin-b-30 menu-item">
        <a href="#" class="menu-grid">
            <img src="images/img-1.jpg" alt="" class="img-fluid"/>
            <div class="menu-grid-desc">                               
            <!--  <span class="price float-right">$9.50</span> -->
                <h4 class="a" id="title">Restaurant y</h4>
                <p>
                    Description
                </p>
            </div>                           
        </a>
    </div>
</div>

Jquery的:

 $('#search').keyup(function(e){
     var current_query = $('#search').val();
         if(current_query != null)
         {
             $("div.menu-filter-items").hide();
             $("div.menu-filter-items div.menu-item").each(function(){
                 var current_keyword = $(this).children('#title').text();

                 alert(current_keyword);
                 if (current_keyword.indexOf(current_query) >=0)
                 {
                     $("div.menu-filter-items").show();         
                 }

             });


         }
         else
         {
             $("div.menu-filter-items").show();
         }

});

我想要访问H4应答器,但我不能 请帮忙 谢谢

3 个答案:

答案 0 :(得分:2)

使用

var current_keyword = $(this).find('#title').text();

而不是

var current_keyword = $(this).children('#title').text();

答案 1 :(得分:1)

您应该使用find方法。

.children()方法允许我们在DOM树中搜索这些元素的子元素,并从匹配元素构造一个新的jQuery对象。 .children()方法与.find()的不同之处在于.children()只在DOM树中向下移动一个级别,而.find()可以遍历多个级别以选择后代元素。

答案 2 :(得分:0)

您可以使用find来使用Jquery lib执行搜索。

请在此处查看完整文档:https://api.jquery.com/find/

对于你的情况;你可以使用:

$( "div.menu-filter-items" ).find( "h4" )