我正在尝试使用 jQuery .filter()
选择包含 one
td
和特定文本的表中的行功能。我的函数看起来像这样......
function getBudgetRowByType(serviceTypeNum) {
alert(serviceTypeNum);
if (parseInt(serviceTypeNum) == 1) {
var row = $('.bgTablePopUp > tbody > tr').filter(function () {
$(this).children("td:contains('Instruction')");
});
return row;
} else if (parseInt(serviceTypeNum) == 2) {
var row = $('.bgTablePopUp > tbody > tr').filter(function () {
$(this).children("td:contains('Research')");
});
return row;
} else if (parseInt(serviceTypeNum) == 3) {
var row = $('.bgTablePopUp > tbody > tr').filter(function () {
$(this).children("td:contains('Administration')");
});
return row;
} else {
// Else nada
return null;
}
}
html 看起来像这样......
<table>
<tr>
<td>Instruction</td>
<td>...</td>
<td>...</td>
<td>...</td>
</tr>
<tr>
<td>Research</td>
<td>...</td>
<td>...</td>
<td>...</td>
</tr>
<tr>
<td>Administration</td>
<td>...</td>
<td>...</td>
<td>...</td>
</tr>
</table>
我不断得到未定义的结果,我不知道为什么......
最佳答案
像这样使用.filter
-(其他条件相同)
if (parseInt(serviceTypeNum) == 1) {
var row = $('.bgTablePopUp > tbody > tr > td').filter(function () {
return $.trim($(this).text()) === "Instruction";
}).closest('tr');
return row;
}
关于javascript - 使用 .filter() 使用 jQuery 选择包含带有特定文本的 tr 的表行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17222638/