Jquery问题选择表的所有元素

时间:2009-09-28 21:04:53

标签: jquery html

我正在使用JQuery 1.3.2并具有以下代码 -

我的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树中的一个级别。

关于我做错了什么的任何建议。

2 个答案:

答案 0 :(得分:0)

你可以尝试

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

确定FF是否找到所有dom元素。如果是,您知道FF不像IE那样处理禁用的CSS属性。

答案 1 :(得分:0)

此代码段将禁用属于formOptionsPreview表格的任何输入字段:

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

或者所有具有disableClass类的表:

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