2016-01-12 104 views
2

假設我們有一個表,如下所示:$('table tbody tr:contains("Hello (Hi) - Bye")')工作正常JQuery的「:包含」選擇器 - 搜索文本,包括嵌套的括號

<table> 
    <tbody> 
    <tr> 
     <td><span>Hello (Hi) - Bye</span></td> 
    </tr> 
    <tr> 
     <td><span>Hello (Hi (Hey)) - Bye</span></td> 
    </tr> 
    </tbody> 
</table> 

的選擇並找到相應的行。

但是,選擇器$('table tbody tr:contains("Hello (Hi (Hey)) - Bye")')失敗,並且生成了錯誤"Syntax error, unrecognized expression: Bye'"

唯一的區別是(Hi(Hey))中的嵌套圓括號。

我試過用雙\來轉義括號,但是這對我沒有用。

+3

它似乎在這裏工作 - https://jsfiddle.net/2s9zfnof/ –

+1

你使用的是什麼版本的jQuery?它看起來像是從1.8開始的。 – Barmar

+0

感謝您的快速回復。事實證明,我正在處理的這個項目仍然使用1.7.1版本 – user5781009

回答

1

這已在the jQuery 1.8 release中修復。

您應該可以在任何更新的版本的jQuery(1.8+)中嵌套多個圓括號。

這記錄爲bug #11902,現已關閉並解決。