我有一些与jQuery 1.7.2一起运行的代码
尝试使用此选择器查找时遇到错误

var x = "span:contains(\"C) Foo (Bar)\")";
$('body').find(x)

https://jsfiddle.net/elewinso/dfbn82wo/7/

这个问题在JQuery 1.8及更高版本中已得到解决,但是由于我无法切换jQuery,所以我希望找到一个补丁。

最佳答案

问题在于您的选择器使jQuery的解析器感到困惑,因为它包含方括号。它认为您要匹配的)是其contains:内容过滤器的右括号。

您可以通过使用filter()来解决此问题。

$('span').filter(function() {
    return $(this).text().indexOf('"C) Foo (Bar)"') != -1;
});

08-25 17:20
查看更多