首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从jquery选择器中排除特定的div?

如何从jquery选择器中排除特定的div?
EN

Stack Overflow用户
提问于 2017-04-21 08:27:13
回答 1查看 1.1K关注 0票数 0

我的手机网页左边有一个滑动菜单,这是菜单html。

代码语言:javascript
复制
<div class="swipe" style="height: 433px; left: 0px;">
    <div class="swipe-menu">

<div class="nav-container-mobile">
    <div class="container">
        <div class="row">
            <div class="col-xs-12">
                <div class="sf-menu-block">
                    <div id="menu-icon" class="">categories</div>
                    <ul class="sf-menu-phone" style="display: none;">
                        <li class="level0 nav-1 first level-top parent"><a href="http://example.com/products.html" class="level-top"><span>product</span></a>
                        </li>
                    </ul>
                </div>
            </div>
        </div>
        <div class="clear"></div>
    </div>
</div>
        <a href="http://example.com/" title="home" class="home-link">home</a>
        <ul class="links">
                        <li class="first"><a href="http://example.com/customer/account/" title="account">My account</a></li>
                                <li class=" last"><a href="http://example.com/customer/account/login/" title="login" onclick="return false;">Login</a></li>
            </ul>


        <div class="footer-links-menu"> 
            <ul>
<li><a href="http://example.com/about">test</a></li>
<li><a href="http://example.com/customer-service">test</a></li>
<li><a href="http://example.com/template-settings">test</a></li>
<li class="last privacy"><a href="http://example.com/privacy-policy-cookie-restriction-mode">priva</a></li>
</ul>  
            <ul class="links-2">
    <li class="first"><a href="http://example.com/catalog/seo_sitemap/product/">Product Sitemap</a></li>
    <li><a href="http://example.com/catalog/seo_sitemap/category/">Category Sitemap</a></li>

    <li><a href="http://example.com/sales/guest/form/">Order</a></li>
</ul>        </div>
    </div>
</div>

这个js会滑进去,

代码语言:javascript
复制
    function swipe_animate_true(){
        jQuery('.swipe-control').addClass('active');
        jQuery('.swipe').stop(true).animate({'left':'0'},300);
    }
    function swipe_animate_false(){
        jQuery('.swipe-control').removeClass('active');
        jQuery('.swipe').stop(true).animate({'left':'-237px'},400);
    }
    jQuery('.swipe-control').click(function(){
        swipe_animate_true();
        mini_form_hide();
        if(jQuery(this).parents('body').hasClass('ind')){
            jQuery(this).parents('body').removeClass('ind');
            swipe_animate_false()
            return false
        }
        else{
            jQuery(this).parents('body').addClass('ind');
            swipe_animate_true()
            return false
        }
    })

我想把..sf菜单块排除在外,我已经试过了。

代码语言:javascript
复制
jQuery('.swipe:not(.sf-menu-block)').stop(true).animate({'left':'-237px'},400);

}

但这不管用,有人知道怎么做吗?

已尝试

代码语言:javascript
复制
jQuery(".swipe  > :not(.nav-container-mobile)").stop(true).animate({'left':'-237px'},400);

但这将使左上角按钮无法从菜单中滑出。

EN

回答 1

Stack Overflow用户

发布于 2017-04-21 08:29:04

HTML:

代码语言:javascript
复制
<div>
    Sandip
    <div class="sf-menu-block">
        my div
    </div>
</div>

您可以删除div标记与匹配类“sf-菜单-块”与javascript,按您的要求如下:

代码语言:javascript
复制
var divBlock = document.getElementsByClassName("sf-menu-block")[0];
divBlock.outerHTML = '';

为您的情况排除JQuery中的任何元素:

代码语言:javascript
复制
$("div").not($(".sf-menu-block"))

如果您尝试使用$("div").length,它将2作为长度,而$("div").not($(".sf-menu-block")).length将给您1

在您的语法中可能是:

代码语言:javascript
复制
jQuery('.swipe').not(jQuery('.sf-menu-block')).stop(true).animate({'left':'-237px'},400);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43537633

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档