red*_*lue 2 html javascript d3.js
我在d3js中使用foreigobject追加一个html元素.这是html
.html(function(d) {return "<span onclick=processParams('"+str+"')><i class='fa fa-plus-circle'></i></span>";})
Run Code Online (Sandbox Code Playgroud)
问题是如果str值包含空格,它就会中断.因此,对于'xyz'的str值,我得到了元素,
<span onclick="processParams('xyz')"><i class="fa fa-plus-circle"></i></span>
Run Code Online (Sandbox Code Playgroud)
但是对于'xyz abc'的str值.它以某种方式变成,
<span onclick="processParams('xyz" abc')=""><i class="fa fa-plus-circle"></i></span>
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
你需要引用你的属性.
你的第二个例子是返回HTML:
<span onclick=processParams('xyz abc')><i class='fa fa-plus-circle'></i></span>
Run Code Online (Sandbox Code Playgroud)
由于您没有引用,"onclick"的值在到达空格时结束.余数(abc')
)被视为另一个参数名称,没有任何价值.
尝试:
.html(
function(d)
{
return "<span onclick=\"processParams('"+str+"')\"><i class='fa fa-plus-circle'></i></span>";
}
);
Run Code Online (Sandbox Code Playgroud)