gpt4 book ai didi

javascript - Jquery 转义选择器无法识别的表达式 : [data-route=search\\/child]

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:04:44 24 4
gpt4 key购买 nike

我似乎找不到解决此问题的方法。

在 SPA 应用中,我有不同的路线。 #/search #/other #/search/child 。我解析主题标签并显示/隐藏包含属性数据路由的元素。

当路径由一部分组成时 #/search 一切正常。 Jquery 正在做 $('[data-route=search]').

当我添加第二部分#/search/child 时,我将选择器转义为“search\/child”,但 Jquery 无法运行选择器并出现以下错误消息:

Uncaught Error: Syntax error, unrecognized expression: [data-route=search\\/child] jquery.js:1850Sizzle.error jquery.js:1850tokenize jquery.js:2460select jquery.js:2847Sizzle jquery.js:1289jQuery.fn.extend.find jquery.js:5730jQuery.fn.jQuery.init jquery.js:197jQuery jquery.js:63allroutes MainView.js:21apply director.js:511_every director.js:308Router.invoke director.js:516updateAndInvoke director.js:474Router.dispatch director.js:482handler director.js:203onchange director.js:76

如果我打开控制台并执行相同的选择器,它工作正常。

var route = window.location.hash.slice(2);
route = route.replace('/','\\\\/');
var sections = $('[data-route]');
var selector = "[data-route=" + route + "]";
var section = $(selector);

if (section.length) {
sections.hide(250);
section.show(250);
}

最佳答案

尝试使用引号。

var selector = "[data-route=\"" + route + "\"]";

那时你甚至不需要转义 /

关于javascript - Jquery 转义选择器无法识别的表达式 : [data-route=search\\/child],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26619310/

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