Jquery查找不工作

Jquery查找不工作,jquery,find,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-b

这是我的网页的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>

但是代码不起作用,div仍然显示。

您的HTML中没有视图内容类。

或使用
length
属性

$('document').ready(function(){
if(!$('.popular_prd').find('.view-content').length) {
        $('.popular_prd').hide();
    }
    else {
    $('.popular_prd').show();
    }
});
这将只返回一个决不会计算为false的jQuery对象

你需要检查它的长度

if(!$('.popular_prd').find('.view-content').length) {
  //no products.
}

find
的工作方式与您的想法不同。看起来像是,而不是

if(!$('.popular_prd').find('.view-content') ) {
你的意思是

if(!$('.popular_prd').find('.view-content').length ) {
事实上,你甚至不需要在这里找到

if(!$('.popular_prd .view-content').length ) {

总之,jQuery选择器不返回true或false,而是返回一个集合。测试
长度
以查看是否找到了任何内容。

查看内容
类未包含在上面
HTML
中带有class
popular\prd
的div中。这可能是问题的关键。”“它不在那里,所以我如何检查它呢?”这是类名的例子。这可能是问题的关键它不在那里,那我怎么检查呢?”
if(!$('.popular_prd').find('.view-content').length ) {
if(!$('.popular_prd .view-content').length ) {