Jquery查找不工作
这是我的网页的Html,我只是想如果没有流行的产品,那么整个div popular_prd应该隐藏起来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
<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
中带有classpopular\prd
的div中。这可能是问题的关键。”“它不在那里,所以我如何检查它呢?”这是类名的例子。这可能是问题的关键它不在那里,那我怎么检查呢?”
if(!$('.popular_prd').find('.view-content').length ) {
if(!$('.popular_prd .view-content').length ) {