highcharts无法选择某些类

highcharts无法选择某些类,highcharts,Highcharts,我试图选择特定元素以更改“笔划”属性(更改颜色) 奇怪的是,我可以按类选择一些元素,但我真正需要更改的元素似乎不可选择,我也不知道为什么 在代码中,有3个选项,当前仅输出找到的元素数量,并将该数量写入标记 “g.highcharts-button rect”工作并将适当的值写入标记 然而,我真正需要选择的类“highcharts标签盒”似乎无法选择 如果有人能告诉我如何选择这个元素,那么我需要能够将“stroke”属性的值更改为“#ff0000” 我花了好几天的时间在这上面,我就是不知道怎么做,

我试图选择特定元素以更改“笔划”属性(更改颜色)

奇怪的是,我可以按类选择一些元素,但我真正需要更改的元素似乎不可选择,我也不知道为什么

在代码中,有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');