jQuery选择器帮助
问题:我需要选择html仅为“222”的单元格。jQuery选择器帮助,jquery,css-selectors,Jquery,Css Selectors,问题:我需要选择html仅为“222”的单元格。 我尝试使用$(“#TableName td tr[html=222]”,但不起作用。您可以进行精确匹配 $("#TableName tr td:contains('222')"); 这使用$.text()将的文本值与“222”进行比较。这只是做$(this.text()的一种更快的方法。给你同样的结果。(请注意,您需要在数组中传递此[此]) 当存在匹配项时,元素将返回到结果jQuery对象中 如果中有可能出现前导或尾随空格,您可以对其进行修剪
我尝试使用
$(“#TableName td tr[html=222]”
,但不起作用。您可以进行精确匹配
$("#TableName tr td:contains('222')");
这使用$.text()
将
的文本值与“222”
进行比较。这只是做$(this.text()
的一种更快的方法。给你同样的结果。(请注意,您需要在数组中传递此
[此])
当存在匹配项时,元素将返回到结果jQuery对象中
如果
中有可能出现前导或尾随空格,您可以对其进行修剪
编辑:如果需要,您可以创建自己的选择器来完成相同的任务:
return $.trim( $.text([this]) ) === "222";
我发现这种选择器的实现(在中的注释中) 例如:
$.expr[":"].econtains = function(obj, index, meta, stack){
return (obj.textContent || obj.innerText || $(obj).text() || "").toLowerCase() == meta[3].toLowerCase();
}
return $.trim( $.text([this]) ) === "222";
$.extend($.expr[':'], {
textIs: function(elem, i, attr) {
return ($.trim( $.text([elem]) ) === attr[3]);
}
});
var result = $("#TableName tr td:textIs(222)")
$.expr[":"].econtains = function(obj, index, meta, stack){
return (obj.textContent || obj.innerText || $(obj).text() || "").toLowerCase() == meta[3].toLowerCase();
}
$("div:econtains('john')").css({ color: "#F00" });