是否有任何函数可以帮助转义 jQuery 选择器中包含的所有元字符?
is there any function which can help escape all meta-characters contained in jquery‘s selector?
直接来自jquery文档:
如果您希望使用任何元字符(如 !"#$%&'()*+,./:;<=>?@[']^&a{|}~)
)作为名称的文字部分,则必须使用两个反斜杠对字符进行转义:''。例如,如果元素带有 id="foo.bar"
,则可以使用选择器 $("#foo''.bar")
。
想知道是否有任何功能可以帮助我摆脱那些元字符?
看看这个关于jQuery错误的视频,作者有一个他写的函数,它使用正则表达式来正确转义所有jQuery选择器@52:18。旁注:视频很棒,每个使用 jQuery 的开发人员都应该观看它。
转录给后人:
String.prototype.escapeSelector = function () {
return this.replace(
/([$%&()*+,./:;<=>?@'[''']^'{|}~])/g,
'''$1'
);
};
你会这样使用它:
$('#' + 'foo.bar'.escapeSelector());
相关文章:
- 如何使用JQuery检查输入(电子邮件)字段是否包含特殊字符
- Javascript中的正则表达式,用于只有数字的字符串,并且不应在除数字以外的任何位置包含任何字符
- jQuery 在名称包含 “[” 字符时按名称获取对象
- 正则表达式匹配:字符串开头不包含字符
- 饼干的名称-值-对不能包含字符 =.
- 下载名称中包含“+”字符的文件
- Javascript:检查字符串是否包含字符,然后删除字符串的一部分
- 从输入字符串中获取包含字符及其 ANSI 颜色的数组
- 检查变量的值,如果它包含字符"Hi"
- Javascript正则表达式-不包含字符
- 附加JS以不包含%字符
- 匹配字符序列和其他不包含字符序列的字符序列
- 存储一个变量(包含"字符)从数据库转换为JavaScript变量
- 删除不包含字符或 的HTML元素
- 将包含字符的字符串拆分为数组项
- 检查至少包含一个或多个数字并包含字符的字段
- 检查字符串是否包含字符
- 如何从包含字符和数字的字符串中提取最后一个数字
- 正则表达式:匹配不包含[字符的字符串行
- 如果变量'payroll_no'(20长字符串)只包含数字,如果包含字符则为false