Ces*_*sar 4 jquery css-selectors
...
<tr>
<td>222</td>
</tr>
<tr>
<td>333 222</td>
</tr>
...
Run Code Online (Sandbox Code Playgroud)
我有这个代码选择器:
$("#TableName tr td:contains('222')");
Run Code Online (Sandbox Code Playgroud)
问题:我需要选择html为'222'的单元格.
我尝试使用$("#TableName td tr[html=222]")
但不起作用.
您可以改为使用.filter()
完全匹配.
var result = $("#TableName tr td").filter(function() {
return $.text([this]) === "222";
});
Run Code Online (Sandbox Code Playgroud)
这用于$.text()
比较<td>
with 的文本值"222"
.这只是一种更快捷的方式$(this).text()
.给你相同的结果.(请注意,您需要传入this
一个数组[this]
.)
当匹配时,元素将返回到生成的jQuery对象中.
如果有中,前导或尾随空白的任何可能性<td>
,你可以修剪是用$.trim()
.
return $.trim( $.text([this]) ) === "222";
Run Code Online (Sandbox Code Playgroud)
编辑:您可以创建自己的选择器,如果您需要,将完成相同的任务:
$.extend($.expr[':'], {
textIs: function(elem, i, attr) {
return ($.trim( $.text([elem]) ) === attr[3]);
}
});
var result = $("#TableName tr td:textIs(222)")
Run Code Online (Sandbox Code Playgroud)