我正在使用以下函数来更改表单列中的填充:
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)
}
});
}
它非常适合此表单 HTML:
<td id="title_1" class=" ">
<input type="text" value="Tests" name="item.Title" id="input_Title_1" >
</td>
现在我还希望它适用于以下 HTML:
<td id="title_1" class=" ">
<textarea name="item.Title" id="input_Title_1">Tests</textarea>
</td>
有没有办法可以更改此函数,使其适用于 input
或 textarea
?我认为执行此操作的方法是更改 var tds = $(this).find('input'),
但我不确定如何更改它,或者即使可以更改为“查找”文本区域或输入。
最佳答案
使用逗号联合多个查询:
var tds = $(this).find('input, textarea');
您还可以使用 :input
作为选择器,但效率不高,而且可能还包含一些您不想包含的内容。
关于jquery - 我可以同时对多种元素类型使用 jQuery find() 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11698448/