Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery选择器帮助_Jquery_Css Selectors - Fatal编程技术网

jQuery选择器帮助

jQuery选择器帮助,jquery,css-selectors,Jquery,Css Selectors,问题:我需要选择html仅为“222”的单元格。 我尝试使用$(“#TableName td tr[html=222]”,但不起作用。您可以进行精确匹配 $("#TableName tr td:contains('222')"); 这使用$.text()将的文本值与“222”进行比较。这只是做$(this.text()的一种更快的方法。给你同样的结果。(请注意,您需要在数组中传递此[此]) 当存在匹配项时,元素将返回到结果jQuery对象中 如果中有可能出现前导或尾随空格,您可以对其进行修剪

问题:我需要选择html仅为“222”的单元格。
我尝试使用
$(“#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" });