我试图检查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中转义括号?
我想你必须使用过滤功能,如:
$('#fscaTotals td *').filter(function(i, el) {
return !!$(el).text().match(/\(/);
});
Run Code Online (Sandbox Code Playgroud)
编辑:我认为这是jQuery中的一个错误:contains().