d3js 无法附加到 clipPath
d3js cannot append to clipPath
我尝试以这种方式将矩形元素附加到 clipPath 中:
const mask = innerSpace
.append('defs')
.append('clipPath')
.attr('id', `clipPath`);
const rectMask = mask
.append('rect')
.attr('id', `mask`)
.attr('width', width)
.attr('height', height);
为了这样使用它:
const graphZone = innerSpace
.append('g')
.attr('width', width)
.attr('height', height)
.attr('clip-path', `url(#mask${this.uniqueId})`)
.call(zoom);
但是 rect 的 append() 不起作用,结果 html 是:
<defs>
<clipPath id="clipPath"></clipPath>
</defs>
你知道发生了什么事吗?
谢谢。
我没有发现问题,它有效
var svg = d3.select("svg");
var width = 50, height=50;
const mask = svg
.append('defs')
.append('clipPath')
.attr('id', `clipPath`);
const rectMask = mask
.append('rect')
.attr('id', `mask`)
.attr('width', width)
.attr('height', height);
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/5.7.0/d3.min.js"></script>
<svg width="50" height="50"></svg>
我尝试以这种方式将矩形元素附加到 clipPath 中:
const mask = innerSpace
.append('defs')
.append('clipPath')
.attr('id', `clipPath`);
const rectMask = mask
.append('rect')
.attr('id', `mask`)
.attr('width', width)
.attr('height', height);
为了这样使用它:
const graphZone = innerSpace
.append('g')
.attr('width', width)
.attr('height', height)
.attr('clip-path', `url(#mask${this.uniqueId})`)
.call(zoom);
但是 rect 的 append() 不起作用,结果 html 是:
<defs>
<clipPath id="clipPath"></clipPath>
</defs>
你知道发生了什么事吗?
谢谢。
我没有发现问题,它有效
var svg = d3.select("svg");
var width = 50, height=50;
const mask = svg
.append('defs')
.append('clipPath')
.attr('id', `clipPath`);
const rectMask = mask
.append('rect')
.attr('id', `mask`)
.attr('width', width)
.attr('height', height);
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/5.7.0/d3.min.js"></script>
<svg width="50" height="50"></svg>