2010-06-22 19 views

回答

1

你已經清楚地顯示代碼工作:

<html> 
<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
    <title>Test</title> 
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> 
</head> 
<body> 
    <a href="#" onclick="$('#btn').attr('disabled', 'disabled')">Disable button</a><br/> 
    <a href="#" onclick="$('#btn').removeAttr('disabled')">Enable button</a><br/> 
    <input type="button" id="btn" value="Some Button" /> 
</body> 
</html> 
0

jQuery的ATTR選擇器實際上有這一點,在那裏你可以通過真正的過載/ false爲disabled明確:

$('#btn').attr('disabled', true); 
$('#btn').attr('disabled', false); 
+0

這增加了'disabled =「」'而不是'disabled =「disabled」'屬性這是標準方式。 – 2010-06-22 13:18:33

+0

@Darin Dimitrov:我認爲,一旦瀏覽器對原始HTML源代碼進行了內部表示,你實在無法做出如此的區分。不要認爲它是增加一個屬性,把它看作是禁用一個實體。你所看到的是這種新的禁用狀態是如何被反序列化的(如果你願意的話)通過一些檢測設備轉換成HTML。在Chrome中考慮http://jsbin.com/acebi3/ ,在檢查呈現的HTML時,只有直接在HTML中具有正確標記的那個標記具有disabled =禁用的結果。其餘全部以'disabled>'結尾。 Firefox顯示類似 – 2010-06-22 16:24:28

+0

的結果,但在那裏,除第一個版本外,其他所有版本都提供了'disabled =「」'(在Firebug中進行檢查時)。另一方面,在IE中,所有四個版本在本地開發工具中被報告爲具有disabled =「disabled」。有趣的一面是,在Firebug和Chrome開發人員工具中,即使在第一個輸入字段中,關閉'/>'也完全沒有被JavaScript所接受。 – 2010-06-22 16:25:09