Javascript SyntaxError:字符串与预期模式不匹配。D3查询选择器
我正在修改这个 但是,我需要节点名称包含特殊字符,如Javascript SyntaxError:字符串与预期模式不匹配。D3查询选择器,javascript,jquery,regex,d3.js,Javascript,Jquery,Regex,D3.js,我正在修改这个 但是,我需要节点名称包含特殊字符,如(、、+或# 这会导致语法错误 我尝试在特殊字符之前添加\,但是它会导致代码无法运行(null) 根据d3.v3.min.js,下面的最后一行,由于字符串模式不匹配而抛出错误 var So = /[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g, ko = {}.__proto__ ? function(n, t) { n.__proto__ = t } : functi
(
、
、+
或#
这会导致语法错误
我尝试在特殊字符之前添加\
,但是它会导致代码无法运行(null)
根据d3.v3.min.js,下面的最后一行,由于字符串模式不匹配而抛出错误
var So = /[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,
ko = {}.__proto__ ? function(n, t) {
n.__proto__ = t
} : function(n, t) {
for (var e in t)
n[e] = t[e]
},
No = function(n, t) {
return t.querySelector(n)
有没有办法解决这个问题?或者,对于节点命名来说,特殊字符是很难拒绝的
谢谢!你所说的“节点名称”是什么意思?
id
属性?如果你指的是节点的标题文本,只需将其存储在属性值(非键){id:…,title:''''}
中,并传递到
元素:append('text')。文本(d=>d.title)
hi@MichaelRovinsky感谢您的评论。您是对的,因为此问题的来源是包含特殊字符的密钥。在这种情况下,我将尝试将密钥和标题分开,在我更改代码后将保持u的更新。您好@MichaelRovinsky,您的解决方案有效,谢谢!