需要在jQuery选择器字符串中转义特殊字符

根据选择器文档,您必须[使用双反斜杠等进行转义\\[。


我有一个这样创建的选择器(假设val属性something[4][2]在此示例中)。


var val = $(this).attr('val');           


$select.find('option[value=' +  val + ']').show();

我可以写一个正则表达式为我逃脱括号吗?


慕妹3242003
浏览 833回答 3
3回答

一只名叫tom的猫

如果您希望某些东西具有任何价值,请尝试以下操作:var val = $(this).attr('val').replace(/[!"#$%&'()*+,.\/:;<=>?@[\\\]^`{|}~]/g, "\\\\$&")这可以通过用两个反斜杠转义jQuery文档的“ 选择器”页面上列出的所有CSS元字符来实现。请记住,在您的情况下,无需执行此类棘手的操作。您可以使用过滤器功能选择具有给定值的所有选项元素,而不必转义该值,如Mathias Bynens的答案所述。
打开App,查看更多内容
随时随地看视频慕课网APP