查找所有未禁用的元素

Find all elements that are not disabled

我得到了html如下:

    <tr>
        <td><input type="text" ......></input></td>
        <td><select>
                 <option val="1">1</option>
                 <option val="2">2</option>
                 <option val="3">3</option>
            </select>
        </td>
        <td><input type="text" disabled="disabled" ......></input></td>
        <td><select disabled="disabled">
                 <option val="1">1</option>
                 <option val="2">2</option>
                 <option val="3">3</option>
            </select>
        </td>
     </tr>

我想找到所有具有未禁用的文本框和下拉菜单的 td。我正在尝试这样做:

     var res = $.extend({}, $("#myTable").find("td> input:not(:disabled)"), $("#myTable").find("td> 
                                 select:not(:disabled)"));

有更好的方法吗?

jQuery 有一个 :input 伪选择器,它包含所有不同类型的用户输入元素。您可以使用它,而不必为 inputselect.

编写单独的选择器

您可以使用 :enabled 而不是 :not(:disabled)

var res = $("mytable td > :input:enabled");