你如何在jQuery选择器中转义括号?

tes*_*ssa 10 jquery

我试图检查td innertext是否包含括号().原因是我将负数显示为(1000),我需要将它们转换为-1000才能进行数学运算.我尝试了几种不同的方法,但似乎无法做到正确.我知道有非jQuery方法可以做到这一点,但在这一点上它只是在烦我.

$(tdElement[i]).find("\\(").length > 0 
Run Code Online (Sandbox Code Playgroud)

这不会抛出错误,但它找不到(1000)的innertext:

$(tdElement[i]).find("\\(")
{...}
    context: {object}
    jquery: "1.3.1"
    length: 0
    prevObject: {...}
    selector: "\("
Run Code Online (Sandbox Code Playgroud)

我尝试的另一种方法是:

$("#fscaTotals td").filter(":contains('\\(')")
Run Code Online (Sandbox Code Playgroud)

这会引发错误"异常抛出但未捕获".它似乎适用于其他角色.示例:.,; <>

那么,你如何在jQuery中转义括号?

eye*_*ess 9

我想你必须使用过滤功能,如:

$('#fscaTotals td *').filter(function(i, el) {
    return !!$(el).text().match(/\(/);
});
Run Code Online (Sandbox Code Playgroud)

编辑:我认为这是jQuery中的一个错误:contains().