Javascript 如何更改[innerHTML]';s svg填充颜色
我有一个带有SVG的数组(在放入数组之前经过消毒)及其填充颜色代码。 我正在使用[innerHTML]标记将这些SVG呈现为html,并尝试应用来自它自身的数组的填充颜色 注意:我在所有svg中添加了id='svg-icon' 像Javascript 如何更改[innerHTML]';s svg填充颜色,javascript,jquery,angular,svg,Javascript,Jquery,Angular,Svg,我有一个带有SVG的数组(在放入数组之前经过消毒)及其填充颜色代码。 我正在使用[innerHTML]标记将这些SVG呈现为html,并尝试应用来自它自身的数组的填充颜色 注意:我在所有svg中添加了id='svg-icon' 像 完成上述操作后,我可以显示svg,但不能更改其填充颜色。我不知道是否有更好的方法,但您只需将其添加到svg中即可 然后你可以用一些像 <div *ngFor="let step of steps"> <div [style.color]="s
完成上述操作后,我可以显示svg,但不能更改其填充颜色。我不知道是否有更好的方法,但您只需将其添加到svg中即可
然后你可以用一些像
<div *ngFor="let step of steps">
<div [style.color]="step.color" [innerHTML]="step.icon">
</div>
请参见非常感谢,这确实帮助了我,但我对方法进行了更改,这些更改也有效,只需添加文档即可。准备就绪。循环步骤
<div class="steps" *ngFor="let step of steps;let i =index;">
<div id="steps" class="step-image" [innerHTML]="step.icon">
</div>
</div>
getMergedSvgList(){
var appConstants = new constants.APPCONSTANTS;
console.log(appConstants.svgListJSON);
this.http.get(appConstants.svgListJSON).subscribe(res=>{
var result=res["data"];
for (let i = 0; i < result.length; i++) {
this.svg.push({icon:this.sanitizer.bypassSecurityTrustHtml(result[i].icon),color:result[i].color});
}
this.steps.forEach(ele=>{
$("#steps #svg-icon").eq(index).css('fill',ele.color);
})
})
}
this.steps=[
{icon: SafeHtmlImpl, color: "#20639b"},
{icon: SafeHtmlImpl, color: "#20639b"},
{icon: SafeHtmlImpl, color: "#3caea3"}
]
<svg id='svg-icon' ... fill="currentColor">
<div *ngFor="let step of steps">
<div [style.color]="step.color" [innerHTML]="step.icon">
</div>