我有一些运行jQuery 1.7.2的代码 尝试使用此选择器
时遇到错误var x = "span:contains(\"C) Foo (Bar)\")";
$('body').find(x)
https://jsfiddle.net/elewinso/dfbn82wo/7/
这个问题已在JQuery 1.8及更高版本中修复,但由于我无法切换我的jQuery,我希望找到一个补丁。
答案 0 :(得分:2)
问题是你的选择器让jQuery的解析器感到困惑,因为它包含括号。它认为您要匹配的)
是其contains:
内容过滤器的结束括号。
您可以使用filter()
来解决此问题。
$('span').filter(function() {
return $(this).text().indexOf('"C) Foo (Bar)"') != -1;
});