[英]jQuery .hide() doesn't hide element
將json解析為指定的span標簽后,我想自動隱藏currentimperial和Forecastimperial的imperial標簽,但是當我嘗試這樣做時
$('#currentimperial').hide();
$('#forecastimperial').hide();
並在chrome中查看結果並在控制台中查看
style="display: none; "
他們實際上有
style="display: inline; "
這是我在jsBin上的全部javascript和html http://jsbin.com/efaguv/edit#javascript,html
感謝您提供的任何幫助。
我認為問題是您不允許ajax調用是異步的。
一個簡化的例子:
1 jQuery(document).ready(function($) {
2 $('#warning').remove('#warning');
3 $.ajax({
4 url: 'http://api.wunderground.com/api/APIKEYREMOVED/geolookup/conditions/forecast/q/51.773079,-1.591353.json',
5 dataType: "jsonp",
6 success: function(parsed_json) {
7 $('#currentimperial').fadeIn(1000).append(+temp_f+ '℉ ');
8 }
9 });
10
11 $('#celcius').hide();
12 $('#currentimperial').hide();
13 $('#forecastimperial').hide();
14 });
因為(在完整代碼中)ajax成功回調使元素可見(使用.fadeIn()
),所以最終結果是它們可見。
您是否可以隱藏該Ajax成功回調中的元素?
我有一個類似的問題,那就是隱藏沒有隱藏。 我正在使用angular,發現指令在display
樣式屬性上使用!important
css功能,迫使其保留為塊,並防止hide將顯示更改為none。
elem.attr('style', 'display: none !important;');
您可以使用
$('#currentimperial').slideUp();
要么
document.getElementById('currentimperial').style.display="none";
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.