Jquery发现不起作用

sam*_*han 0 jquery find

这是我的页面的Html我只是想要,如果没有流行的产品,那么整个div popular_prd应该隐藏.

<div class="popular_prd">
    <h1 class="views-heading">Popular Products</h1>
    <div class="view view-popular-products view-id-popular_products view-display-id-default boxes-bottom view-dom-id-3">
        <div class="views-admin-links views-hide">
            <ul class="links">
                <li class="0 first">
                    <a href="/admin/build/views/edit/popular_products?destination=node#views-tab-default">Edit</a>
                </li>
                <li class="1">
                    <a href="/admin/build/views/export/popular_products">Export</a>
                </li>
                <li class="2 last">
                    <a href="/admin/build/views/clone/popular_products">Clone</a>
                </li>
            </ul>
        </div>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

我使用以下jquery代码来隐藏div.

$('document').ready(function(){
if(!$('.popular_prd').find('.view-content') ) {
        $('.popular_prd').hide();
    }
    else {
    $('.popular_prd').show();
    }
});
Run Code Online (Sandbox Code Playgroud)

但代码不工作div仍然出现.

Joh*_*hnP 5

$('.popular_prd').find('.view-content')
Run Code Online (Sandbox Code Playgroud)

这将只返回一个永远不会计算为false的jQuery对象

你需要检查它的长度

if(!$('.popular_prd').find('.view-content').length) {
  //no products.
}
Run Code Online (Sandbox Code Playgroud)