2009-09-28 80 views
0

我使用jQuery 1.3.2,並有下面的代碼的所有元素 -jQuery的問題選擇表

我的HTML是 -

<table class="disableClass" id="formOptionsPreview"> 
<%--Spacing Row, this row exists solely to make the table columns size correctly --%> 
<tr id="formOptionsPreviewRow"> 
    <td style="width: 130px; border-style: none"> 
     &nbsp; 
    </td> 
    <td style="width: 90px; border-style: none"> 
.... 
    </td> 
</tr> 
</table> 

我jQuery代碼是 -

<script type="text/javascript"> 
    $(".disableClass").contents().andSelf().attr('disabled', 'disabled'); 
</script> 

我想要的是禁用表中的所有輸入項。我有一個屏幕的viewonly模式,我可以做的最簡單的事情是禁用(或只讀)所有的輸入字段。

在IE8中,此代碼完全按預期工作。所有元素都被禁用。但是,在FF3.5.2中,只有表格和外部表格行顯示爲禁用。在FF中,它看起來像只搜索DOM樹中的一個深度。

關於我做錯了什麼的任何建議。

回答

0

這個片段將禁用是formOptionsPreview表的一部分的任何輸入字段:正是工作就像我想

$('table.disableClass :input').attr('disabled', true); 
+0

$('#formOptionsPreview :input').attr('disabled', true); 

或可替代所有的表與disableClass類。謝謝。 – 2009-09-28 21:18:45

0

你可以嘗試

console.log($(".disableClass").contents().andSelf().length()); 

,以確定是否FF是找到所有的DOM元素。如果是這樣,你知道FF不像IE那樣處理禁用的CSS屬性。