gpt4 book ai didi

javascript - JS : Escaping a string with backslash at the end of a string, 与 jQuery 函数一起使用

转载 作者:行者123 更新时间:2023-11-29 19:45:59 25 4
gpt4 key购买 nike

我有一个像 "CS5990+-&|!(){}[]^"~*?:\"的字符串

我想在像这样的表达式中使用这个字符串作为选择器

$('[data-name="' + string + '"]')

其中字符串是上面的字符串。但是由于最后一个斜杠,jquery 的嘶嘶声会引发错误。无论如何我可以转义这个字符串并仍然使用这个字符串作为选择器吗?我尝试了 escape(),但它抛出了一个错误。请帮忙

最佳答案

To use any of the meta-characters ( such as !"#$%&'()*+,./:;<=>?@[]^`{|}~ ) as a literal part of a name, it must be escaped with with two backslashes: \\. - http://api.jquery.com/category/selectors/

对于选择器中的属性值,您似乎可以通过双重转义反斜杠和引号来摆脱困境,例如

var string = "CS5990+-&|!(){}[]^\\\"\~*?:\\\\";

http://jsfiddle.net/9PF4G/1/

这是一个转义选择器中特殊字符的函数:

function escapeSelector(selector) {
selector = selector.replace(/\\/g,'\\\\');
return selector.replace(/([ #;&,.+*~\':"@!^$[\]()<=>|\/\{\}\?])/g,'\\$1');
}

http://jsfiddle.net/9PF4G/5/

关于javascript - JS : Escaping a string with backslash at the end of a string, 与 jQuery 函数一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19702301/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com