我有一个函数可以扫描表中的变量(keyID)并选择包含该变量的表格单元格。该变量目前定义为:
selectedTD = table.find('td:contains("' + keyID + '")');
但是如果keyID = 10,那么如果表格单元格包含10,100,1010等,则selectTD将返回一个值。
如何使变量selectTD仅在keyID完全匹配时选择表格单元格,而不是包含?
答案 0 :(得分:1)
使用filter()
通过函数传递集合中的每个项目,如果应该包含该项目,则该函数返回true:
selectedTD = table
.find('td')
.filter(
function() {
return this.innerText === keyID
});
ETA:
如果您可以控制生成的HTML,我建议您将keyID添加为data-
属性,例如<td data-keyid="keyhere">
。然后,您只需使用$('td[data-keyid=' + keyID + ']')
答案 1 :(得分:1)
没有单一的原生jQuery选择器可以让你这样做,但是good answers here。或者,this jQuery extension看起来很有希望。
答案 2 :(得分:0)
尝试使用.filter()之类的:
selectedTD = table.find('td').filter(function(){
return $.trim(this.innerHTML) == keyID;
});