我可以同时对多个元素类型使用jQuery find()吗?

Ala*_*an2 48 jquery

我使用以下函数来更改表单上的列中的填充:

function padTitles() {
    $('#option-grid #dataTable tr, #topic-grid #dataTable tr')
        .each(function () {
            var tds = $(this).find('input'),
        text = tds.filter('[id^="input_TempRowKey_"]').val(),
        tdToPad = tds.filter('[id^="input_Title_"]'),
        pad;
            if (/\.0$/.test(text)) {
                pad = 10;
                level = 1;
            } else {
                pad = 35;
                level = 2;
            }
            tdToPad.css('margin-left', pad);
            a = tdToPad.closest('tr');
            if (tdToPad.closest('tr').get().className) {
                tdToPad.closest('tr').get().className = tdToPad.closest('tr').get().className.replace(/\blevel\-.*?\b/g, 'level-' + level);
            } else {
                tdToPad.closest('tr').addClass('level-' + level)
            }
        });
}
Run Code Online (Sandbox Code Playgroud)

它适用于此表单HTML:

<td id="title_1" class=" ">
   <input type="text" value="Tests" name="item.Title" id="input_Title_1" >
</td>
Run Code Online (Sandbox Code Playgroud)

现在我也希望它适用于以下HTML:

<td id="title_1" class=" ">    
  <textarea name="item.Title" id="input_Title_1">Tests</textarea>
</td>
Run Code Online (Sandbox Code Playgroud)

有没有办法可以改变这个功能,所以它适用于inputtextarea?我认为这样做的方法是改变var tds = $(this).find('input'),但是我不知道如何改变它,或者即使它可以改为"找到"textarea或输入.

Ry-*_*Ry- 118

使用逗号组合多个查询:

var tds = $(this).find('input, textarea');
Run Code Online (Sandbox Code Playgroud)

您也可以使用它:input作为选择器,但效率不高,也可能包含一些您不想包含的内容.