我有一个函数,它扫描一个表的变量(keyID),并选择包含该变量的表格单元格。可变当前被定义为:jquery什么用于完全匹配,而不是包含
selectedTD = table.find('td:contains("' + keyID + '")');
然而,如果KEYID = 10,然后将selectTD如果一个表格单元格包含10个返回值,100,1010等
如何使仅可变selectTD当keyID完全匹配时选择表格单元格,而不是包含?
我有一个函数,它扫描一个表的变量(keyID),并选择包含该变量的表格单元格。可变当前被定义为:jquery什么用于完全匹配,而不是包含
selectedTD = table.find('td:contains("' + keyID + '")');
然而,如果KEYID = 10,然后将selectTD如果一个表格单元格包含10个返回值,100,1010等
如何使仅可变selectTD当keyID完全匹配时选择表格单元格,而不是包含?
使用filter()
通过返回true的功能通过每个项目集合中,如果该项目应包括:
selectedTD = table
.find('td')
.filter(
function() {
return this.innerText === keyID
});
ETA: 如果你能控制的HTML生成的,我建议你添加keyid的作为data-
属性,如<td data-keyid="keyhere">
。然后,你可以简单地使用$('td[data-keyid=' + keyID + ']')
尝试使用.filter(),如:
selectedTD = table.find('td').filter(function(){
return $.trim(this.innerHTML) == keyID;
});
没有单一的,本地jQuery选择,可以让你做到这一点,但good answers here。或者,this jQuery extension看起来很有希望。
我有一种感觉op不会希望严格的平等检查在这里... – Madbreaks
@Madbreaks是的,重新读这个问题,我想你可能是对的。编辑。 – BYossarian