JQuery:插入"()"在:contains()选择器中

JQuery : Inserting "()" inside the :contains() Selector

本文关键字:quot 选择器 contains JQuery 插入      更新时间:2023-09-26

当我在:contains()选择器中插入文本"()"时,我得到以下错误

    Uncaught Syntax error, unrecognized expression: "X(") 

我将给出我的样本

   $("div#list li:contains("X(")").remove();

如何克服这一点?

编辑:我使用jquery-1.4.1.

这是一个转义问题,但这样做会简单得多:

 $('div#list li:contains("X(")').remove();

 $("div#list li:contains('X(')").remove();

只用一个字符串表示'

$('div#list li:contains("X(")').remove();

Edit:在1.4.1版本中,:contains选择器的转义仍然存在错误。在这种情况下,您必须编写自己的RegExp来查找元素:

var searchRegex = new RegExp("X''(", "g"),
    result = $('div#list li').filter(function (i, el) {
        return $(el).text().match(searchRegex);
    });
result.remove();

这是正确答案

$("div#list li:contains('X('")')").remove();

检查http://jsfiddle.net/4F3JF/