所以我有一个数组,它根据显示的图表获取多个字符串。现在我正在寻找这个数组中最长的字符串。现在,这可以毫无问题地工作。
此代码如下所示:
var textLengthArray = [];
domContainer.find(" g > .element1 > .element2> text").each(function () {
textLengthArray.push($(this).text());
});
var longestString = textLengthArray.sort(function (a, b) {
return b.length - a.length;
})[0];
现在我想根据最长的字符串更改这些"文本"元素的字体大小。因此,如果数组中最长的字符串长度超过 10 个字符,则应将字体大小更改为"x px/pt"。
我的第一个想法都是关于这样的事情:
if (longestString >= 10){
domContainer.find(" g > .brm-y-direction > .tick > text")
.style('font-size', '4pt')
};
我也尝试过类似的东西:
if (longestString >= 2){
$("g.brm-y-direction.tick").find("text").css("font-size", "4pt") ; };
但这些解决方案根本不起作用。那么谁能告诉我如何通过javascript解决这个问题?
生成的 HTML 文本如下所示:
<g class="tick" transform="translate(0,74)" style="opacity: 1;">
<line x2="-6" y2="0"></line>
<text dy=".32em" x="-12" y="37" style="text-anchor: end;">sampletext</text></g>
我在您的 HTML 代码段中看不到brm-y-direction
,所以您可以尝试
$("g.tick text").css("font-size", "4pt");