Javascript d3选择的ID未定义
按ID选择元素后,我发现ID未定义 为了说明这一点,我把它们放在一起 设置元素:Javascript d3选择的ID未定义,javascript,d3.js,Javascript,D3.js,按ID选择元素后,我发现ID未定义 为了说明这一点,我把它们放在一起 设置元素: <pre id='output'></pre> <input id='my-checkbox' type='checkbox'> 这将使用“未定义”填充pre元素,即使单击该框也会持续存在。另一方面,下面的脚本正如我所期望的那样工作: d3.select('#my-checkbox') .on('click', function(){ document.
<pre id='output'></pre>
<input id='my-checkbox' type='checkbox'>
这将使用“未定义”填充pre元素,即使单击该框也会持续存在。另一方面,下面的脚本正如我所期望的那样工作:
d3.select('#my-checkbox')
.on('click', function(){
document.getElementById('output').outerHTML = this.id;
});
这是怎么回事?如何在d3的
调用函数中访问元素ID?您将获得元素对象作为第一个参数:
d3.select('#my-checkbox').call(function(s){
document.getElementById('output').outerHTML = s.attr('id');
});
您将获得元素对象作为第一个参数:
d3.select('#my-checkbox').call(function(s){
document.getElementById('output').outerHTML = s.attr('id');
});
从d3文档中
与function.call类似,调用指定类型的每个已注册回调,将指定参数传递给回调,并将其作为此上下文。有关更多信息,请参阅dispatch.apply
您要查找的函数是每个
.each(function(){
document.getElementById('output').outerHTML = this.id;
})
从d3文档中
与function.call类似,调用指定类型的每个已注册回调,将指定参数传递给回调,并将其作为此上下文。有关更多信息,请参阅dispatch.apply
您要查找的函数是每个
.each(function(){
document.getElementById('output').outerHTML = this.id;
})
您的javascript代码是否位于页面底部?请查看我链接到的小提琴。JS是在我的元素被定义之后出现的。你的javascript代码在页面底部吗?看看我链接到的小提琴。JS是在我的元素被定义之后。非常好,谢谢。你知道为什么当这个.id
不起作用时,调用
会起作用吗?我不知道为什么在这种情况下d3会将元素作为参数传递。我知道这有点混乱,因为on
将元素作为上下文传递。可能这件事的背景是其他的?很好,谢谢。你知道为什么当这个.id
不起作用时,调用
会起作用吗?我不知道为什么在这种情况下d3会将元素作为参数传递。我知道这有点混乱,因为on
将元素作为上下文传递。这件事的背景可能是别的?