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,您的解决方案有效,谢谢!