jQuery(移动):按钮没有隐藏

yvo*_*zoe 1 javascript jquery jquery-mobile

我面临一个非常奇怪的问题.这是我的代码:

<div id="status">
        <div id="armStatus">
            <div id="armText">
                <fieldset data-role="controlgroup">
                    <legend>Unit</legend>
                    <input type="checkbox" class="CB" name="armCB_1" id="armCB_1" class="custom" data-mini="true" />
                    <label for="armCB_1">Arming Status</label>
                    <p id="armingtext"></p>
                </fieldset>
             </div>
        </div>
        <table class="config" id="status_table">
            <thead>
                <tr>
                    <th colspan="4"; style= "padding-bottom: 20px; color:#6666FF; text-align:left; font-size: 1.5em">Feedback Status</th>
                </tr>
                <tr>
                    <th>Index</th>

                    <th>Feedback Type</th>
                    <th>Feedback Number</th>
                    <th>Status</th>
                    <th class="cHide">Monitor?</th>
                    <th class="cHide">Remove?</th>
                </tr>
            </thead>
            <tbody>
                 <tr>
                 </tr>
            </tbody>       
       </table>
       <button type="button" id="monitor" class="cHide" data-role="button" data-mini="true" data-transition="fade">Monitor</button>

    </div>
Run Code Online (Sandbox Code Playgroud)

如上所示,该按钮与2个表头monitor具有相同的类并且'remove?`.但是当这个叫做:.cHidemonitor?

$(".cHide").hide();
Run Code Online (Sandbox Code Playgroud)

只隐藏了monitor?remove?列,但monitor按钮仍然存在.为什么会这样?怎么了?

编辑:如果它是独立的,它似乎工作正常.我怀疑是因为

 $('#monitor').button('enable');
Run Code Online (Sandbox Code Playgroud)

放在某个地方?

这是我隐藏和显示的代码的一部分.cHide(在document.ready中)

 $('.done').click(function(){
            $('#n_keypad').hide();
            login_code = $('#myInput').val();

            $.post( '/login' , {passcode:login_code.toString()})
                .done(function(reply) {
                    $("#login_div").hide();
                    alert("You are login as " + reply);
                    if (reply=="engineer"){
                         $("#securityMode").show();
                         $("#labels").show();
                         $("#status").show();
                         $("#display").show();                             
                         $("#logoutbutton").show();
                         $(".cHide").show();
                         $("#loginbutton").hide();
                         $("#configtable").hide();
                    }   
                    else if(reply=="user"){
                        $("#securityMode").show();                            
                        $("#configtable").show();
                        $("#logoutbutton").show();
                        $("#labels").hide();
                        $("#status").show();
                        $("#display").hide();
                        $("#configeditdiv").hide();                            
                        $(".cHide").hide();


                    }
Run Code Online (Sandbox Code Playgroud)

asi*_*frc 5

jQuery Mobile在隐藏按钮时遇到了问题,因为框架将按钮包装在样式div中并隐藏按钮(即您试图隐藏已隐藏的按钮).这个问题已经解决了这个问题:jquery mobile无法隐藏提交按钮

这表明类似的东西$('.cHide').closest('.ui-btn').hide();应该适合你.尝试一下,让我知道它是否有效:)