如何使用javascript操作SVG节点,使其在MS Edge中工作
How to manipulate SVG nodes with javascript so that it would work in MS Edge?
我有一个内部有linearGradient
的svg
元素。在某个时候,我需要改变渐变色,所以我这样做:
var stops = [];
for (var i in description) {
stops.push('<stop offset="' + i + '" stop-color="' + description[i] + '"/>');
}
var colorBar = svg.getElementById('colorMapGradient');
colorBar.innerHTML = stops.join('');
它在FF和Chrome中运行得很好,但当我的页面加载到Edge中时,它不会改变任何事情。当我在浏览器中调试它时,我看不到colorBar
对象的任何属性,包括innerHtml
,就好像它不是一个普通的HTML节点一样(我想它是)。但是,在其他浏览器中可以看到一组常见的属性。那么,有什么变通方法可以在Edge中将颜色停止设置为linearGradient
吗?
感谢Robert Longson,我通过从javascript:访问DOM使其工作
var colorBar = svg.getElementById('colorMapGradient');
while (colorBar.firstChild) {
colorBar.removeChild(colorBar.firstChild);
}
for (var i in description) {
var stopNode = document.createElementNS('http://www.w3.org/2000/svg', 'stop');
stopNode.setAttribute('offset', i);
stopNode.setAttribute('stop-color', description[i]);
colorBar.appendChild(stopNode);
}
相关文章:
- 锚点元素不't使用svg时,请打开EDGE上的href
- 如何在Edge中下载图像/png数据URI
- Adobe Edge:动画完成时添加onComplete处理程序
- 具有大型数据集的组件仅在 IE11/Edge 上运行缓慢
- 如何使用javascript操作SVG节点,使其在MS Edge中工作
- 如何在Microsoft Edge中发布AudioContext
- MS Edge有一个window.chrome对象??破坏浏览器检测
- Javascript:为在MS Edge中不起作用的其他框架中的输入框分配值
- MS Edge 无法检测<使用> SVG 元素的委托事件
- 引导导航在 MS Edge/IE 中无法正常工作
- 在MS Edge中保存iFrame的内容
- 如何在MS Edge上使用本机javascript从具有next和previous的页面中搜索文本
- 使用Javascript将表导出到MS Excel,在MS Edge上无法工作
- Bootstrap粘贴不适用于IE、Chrome或MS Edge
- 触摸API(如touchstart)不能在MS Edge中工作
- 无法使用W10和MS Edge添加Facebook插件评论
- Internet Explorer / MS Edge浏览器在遍历xml数据时出现问题
- MS Edge画布不支持SVG填充颜色
- JavaScript: IE 11 and MS Edge override CTRL+P
- iTextSharp PDFAction.PrintDialog 在 MS Edge 中不起作用