简体   繁体   English

使用jQuery选择器进行DOM树遍历

[英]DOM tree traversal with jQuery selectors

I need a jQuery selector to target FooClass and BarClass via #MainSelector 我需要一个jQuery选择目标FooClassBarClass通过#MainSelector

<div id='MainSelector1'>
    <fieldset>
        <legend>Toto</legend>
            <div class='section'>
                <label>Koko</label>
            <div>
                <input type='text' id='KokoId'>
            </div>
            </div>   
            <div class='section'>
                <label>Foo</label>
                <div>
                    <select class='FooClass' /> 
                </div>
            </div>
            <div class='section'>
                <label>Bar</label>
                <div>
                    <select class='BarClass' />
                </div>
            </div>
    </fieldset>
</div>   

<div id='MainSelector2'>
    <fieldset>
        <legend>Toto</legend>
            <div class='section'>
                <label>Koko</label>
            <div>
                <input type='text' id='KokoId'>
            </div>
            </div>   
            <div class='section'>
                <label>Foo</label>
                <div>
                    <select class='FooClass' /> 
                </div>
            </div>
            <div class='section'>
                <label>Bar</label>
                <div>
                    <select class='BarClass' />
                </div>
            </div>
    </fieldset>
</div>   

Should be something like 应该是这样的

$("#MainSelector1.FooClass").Css('display', none);
$("#MainSelector1.BarClass").Css('display', none);

$("#MainSelector2.FooClass").Css('display', none);
$("#MainSelector2.BarClass").Css('display', none);

Just separate the accessors with a space to also access its non-direct children and pass none as a string to the css function. 只需使用空格分隔访问器,即可访问其非直接子项,并且none作为字符串传递给css函数。

$("#MainSelector1 .FooClass").css('display', 'none');
$("#MainSelector1 .BarClass").css('display', 'none');

$("#MainSelector2 .FooClass").css('display', 'none');
$("#MainSelector2 .BarClass").css('display', 'none');

You could also do this and that , but maybe you should just do some reading of the jQuery Selectors and probably the hide function . 您也可以做到这一点 ,但是也许您应该阅读jQuery Selectors以及hide函数的一些内容

var $el = $('#MainSelector1');
$el.find( '.FooClass' ).css('display', 'none');
$el.find( '.BarClass' ).css('display', 'none');

$el = $('#MainSelector2');
$el.find( '.FooClass' ).css('display', 'none');
$el.find( '.BarClass' ).css('display', 'none');

OR 要么

$('#MainSelector1').find( '.FooClass, .BarClass' ).css('display', 'none');
$('#MainSelector2').find( '.FooClass, .BarClass' ).css('display', 'none');

OR Simply 或简单地

$('#MainSelector1').find( '.FooClass, .BarClass' ).hide();
$('#MainSelector2').find( '.FooClass, .BarClass' ).hide();

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM