highcharts无法选择某些类
我试图选择特定元素以更改“笔划”属性(更改颜色) 奇怪的是,我可以按类选择一些元素,但我真正需要更改的元素似乎不可选择,我也不知道为什么 在代码中,有3个选项,当前仅输出找到的元素数量,并将该数量写入标记 “g.highcharts-button rect”工作并将适当的值写入标记 然而,我真正需要选择的类“highcharts标签盒”似乎无法选择 如果有人能告诉我如何选择这个元素,那么我需要能够将“stroke”属性的值更改为“#ff0000” 我花了好几天的时间在这上面,我就是不知道怎么做,或者为什么它不起作用。救命啊highcharts无法选择某些类,highcharts,Highcharts,我试图选择特定元素以更改“笔划”属性(更改颜色) 奇怪的是,我可以按类选择一些元素,但我真正需要更改的元素似乎不可选择,我也不知道为什么 在代码中,有3个选项,当前仅输出找到的元素数量,并将该数量写入标记 “g.highcharts-button rect”工作并将适当的值写入标记 然而,我真正需要选择的类“highcharts标签盒”似乎无法选择 如果有人能告诉我如何选择这个元素,那么我需要能够将“stroke”属性的值更改为“#ff0000” 我花了好几天的时间在这上面,我就是不知道怎么做,
总资产配置
$(函数(){
$(“#容器”)。高图({
“图表”:{
renderTo:'容器',
类型:'区域',
marginBottom:150,
活动:{
加载:函数(){
/*
接下来的几行代码(目前已注释掉)是我的尝试
选择特定的类。目前,我只想数数
找到类并将它们输出到标记以进行调试。
var g=document.queryselectoral(“g.highcharts-button rect”);
document.getElementById(“gs”).innerHTML='gs='+g.length;
var w=document.queryselectoral(“path.highcharts标签框”);
document.getElementById(“ws”).innerHTML='ws='+w.length;
var p=document.querySelectorAll('svg g path.highcharts标签框');
document.getElementById(“ps”).innerHTML='ps='+p.length;
*/
var locator=document.querySelector(“.highcharts导出组”);
$(定位器).append($('.highcharts-plot-lines-0').detach());
this.renderer.rect(this.plotLeft、this.plotSizeY+this.plotTop+100、this.plotSizeX、2)
.css({
填写:“#000”,
zIndex:4
}).add();
this.renderer.rect(this.plotSizeX/16*9.5+this.plotLeft,this.plotSizeY+this.plotTop+100-5,2,12)
.css({
填写:“#000”,
zIndex:4
}).add();
this.renderer.text('Years to Retirement',250480)
.css({
尺寸:15
}).add();
this.renderer.text('退休年限',550480)
.css({
尺寸:15
}).add();
this.renderer.text(“\u25b6”,this.chartWidth-21467)
.css({
尺寸:15
}).add();
this.renderer.text('\u2B07',650,400)
.css({
字体大小:10
}).add();
this.renderer.text('MM RetireSMART
…“在Retirement中”,615414)
.css({
字体大小:10
}).add();
}
}
},
标题:{
文本:“目标资产配置”
},
图例:{
已启用:false
},
xAxis:{
类别:['45+',40,35,30,25,20,15,10,5,0,5,10,15,20,25,30+'],
勾选颜色:“#000”,
宽度:1,
勾选位置:“on”,
标题:{
已启用:false
},
绘图线:[{
颜色:“#fff”,
宽度:5,
可见:对,
数值:9
}]
},
亚克斯:{
标题:{
文本:“权重”,
风格:{
颜色:“#000”,
fontWeight:“粗体”
}
},
标签:{
填充:50
},
勾选位置:“on”,
时间间隔:10,
长度:5,
宽度:1,
勾选颜色:“#000”,
“allowDecimals”:false,
网格线宽:0
},
打印选项:{
面积:{
堆叠:“百分比”,
线条颜色:“#fff”,
线宽:1,
标记:{
线宽:1,
线条颜色:'#fff'
}
},
系列:{
活动:{
afterAnimate:function(){
var标签=this.labelBySeries;
label.attr({
“文本锚定”:“中间”,
}).css({
颜色:this.options.labelColor
})
}
},
标记:{
已启用:false
},
}
},
系列:[{
是的,
名称:“WWW其他基金”,
颜色:'#b0b0',
标签:{
允许的连接器:正确,
奥娜瑞亚:错,
风格:{
颜色:“#fff”,
字体大小:“大”
}
},
数据:[2,3,3,4.5,3,3,3,2,5,3.5,4,4,3,3,2,4]
}, {
名称:“wwwffixed Income
W
WWWFunds”,
颜色:“#010101”,
标签:{
风格:{
字体大小:“大”
}
},
数据:[5,6,6,7,9,11,14,16,16,18,19,30,35,44,55,66]
}, {
名称:“股权基金SWW”,
颜色:“#303030”,
标签:{
风格:{
字体大小:“大”
}
},
数据:[95,99,98,97.5,90,80,70,60,40,33,22,20,17,15,13,11]
}],
});
});
您只需在序列中更改笔划属性即可。afterAnimate事件:
label.box.attr({
stroke: 'red'
})
唯一的问题是找到包含连接器属性的对象(框)
jsFiddle:
此外,您也可以使用您的方法来完成。我们可以使用选择器path.highcharts-label-box获取元素,并设置如下属性:
var w = document.querySelectorAll("path.highcharts-label-box");
w[0].setAttribute('stroke', 'red');
但我们必须在动画制作完成后获取w元素,否则,如果我们在chart.load事件中执行此操作,w元素将不存在
jsFiddle:
希望有帮助
致意
请注意,正如daniel_s之前告诉您的那样,不要在一些支持渠道上重复您的问题。无论如何,您都会得到您的答案。太棒了!非常感谢您。很抱歉重复发布-我已经绝望了。我不会再这样做了。
var w = document.querySelectorAll("path.highcharts-label-box");
w[0].setAttribute('stroke', 'red');