javascript - D3 如何在ID中有点时按ID选择元素

标签 javascript select d3.js

我有

<text id="element.id.with.dots" x="10" xml:space="preserve" y="10" stroke="none">

如何使用 d3.select 选择它? 这似乎不起作用,它返回 null

var textElem = d3.select("text[id=element\\.id\\.with\\.dots]");

还有这个:

var textElem = d3.select("text[id=element.id.with.dots]");

在 Firebug 控制台窗口中给我错误:

SyntaxError: An invalid or illegal string was specified

最佳答案

使用带引号的字符串来分隔属性的值:

var textElem = d3.select("text[id='element.id.with.dots']");

var el = d3.select("text[id='element.id.with.dots']");
el.style({fill: 'red'})
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.4.11/d3.min.js"></script>
<svg>
     <text id="element.id.with.dots" x="10" xml:space="preserve" y="10" stroke="none">Text/<text>
</svg>

关于javascript - D3 如何在ID中有点时按ID选择元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33502614/

相关文章:

javascript - 为什么我的条形图的前两个文本标签没有显示?

d3.js - 如何修复 d3 v4 中的重播转换?

javascript 数组不唯一

javascript - 尝试使用 $.ajax 发送 JSON,改为发送查询字符串

mysql - SQL根据where row id将内容从一个表移动到另一个表

javascript - 如何准确缩放已经翻译的d3 map

javascript - 带星号量词的正则表达式

javascript - 在粘贴事件 Javascript 中删除输入字段中的所有非数字字符

mysql - 使用左连接时使用 order by 和 limit 过滤查询

php - 使用 MySQL 创建新闻通量,根据提供的表名和 ID 从 3 个表中选择