根据字符串长度更改样式



所以我有一个数组,它根据显示的图表获取多个字符串。现在我正在寻找这个数组中最长的字符串。现在,这可以毫无问题地工作。

此代码如下所示:

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");

相关内容

  • 没有找到相关文章

最新更新