我正面臨一個非常奇怪的問題。這裏是我的代碼:?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>
如上圖,按鈕monitor
是具有相同類.cHide
爲2表頭monitor?
和「刪除'。但是當這種被稱爲:
$(".cHide").hide();
只有monitor?
和remove?
列被隱藏,但monitor
按鈕仍然存在。 這是爲什麼呢?怎麼了?
編輯:似乎它的工作正常,如果它是獨立的。我懷疑是否因爲
$('#monitor').button('enable');
放置在什麼地方?
此處,我隱藏和顯示.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();
}
您是否使用調試器檢查了'$(「。cHide」)'的值?代碼看起來不錯。 – Jan
你的代碼工作正常 - http://jsfiddle.net/JY2ub/。這是外面的東西,會導致問題。 – lifetimes
你使用任何UI框架?像jQuery UI或手機等。 – asifrc