2011-12-12 21 views
0

我想禁用加載的div,然後點擊botton啓用它。 或換句話說,我想在用戶點擊時加載並加載它時隱藏它。禁用負載分區不工作爲什麼?

首先,是一個正確的策略加載div在禁用模式,然後啓用它,或者我應該將它追加到身體後加載?第二,這是我的代碼,我檢查了很多類似的問題,我的瀏覽器是鉻合金,但它不工作,我不知道你爲什麼能幫助我通過這個?

<div class="test_dis" style="left:170px; top:128px;" > 
    this is a test to see if 
    i can disable it on load or not 
    <div>child </div> 
</div> 

$(document).load(function(e) { // shall it be on Load or Ready ? 
    //.attr("disabled","disabled"); both are not working ! 
    $('.test_dis').attr('disabled',true); 
}); 

謝謝

+0

你問如何使一個DIV無形再後來表現出來? 「禁用」div並沒有什麼意義 - 你的意思是什麼? – nnnnnn

回答

3

它不工作,因爲你無法禁用div元素。這隻適用於表單元素。

HTML spec

「以下元素支持禁用屬性:BUTTON,INPUT, OPTGROUP,選項,選擇,和TEXTAREA」。

對於禁用工作的元素,您應該設置HTML屬性,以便元素在創建時已被禁用,而不是在創建元素後將其禁用。例如:

<input type="text" name="Info" disabled="disabled" /> 

ready事件發生比load事件比較早,所以你不能在HTML元素直接做任何調整,則應該在ready事件做。 ready事件發生在文檔加載時,而load事件發生在頁面上的所有內容(圖片et.c.)也已被加載。

0

隱藏它?

$(document).ready(function() { 
    $('.test_dis').hide(); 
}); 
+0

對於div的孩子,您是否也可以在這張票上寫下您的回答。 http://stackoverflow.com/questions/8423812/enable-disable-a-div-and-its-elements-in-javascript – Emax

0

隱藏它可以工作,但需要相同的尺寸&定位,例如一個容器。

<div class="test_dis_container" style="left:170px; top:128px;" > 

然後添加一個功能到容器,這樣您就可以在點擊的div:

$(document).ready(function() { 
    $('.test_dis').hide(); 

    $('.test_dis_container').click(function() { 
    $('.test_dis').show(); 
    } 

    }); 
+0

1.爲什麼需要一個容器? 2.我可以使用.Children()並隱藏其中的所有內容嗎? – Emax